ParametersNue.h
Go to the documentation of this file.
1 
2 //
3 // ParametersNue.hpp
4 //
5 // Created by Brian Rebel on 10/29/15.
6 //
7 
8 #ifndef ParametersNue_hpp
9 #define ParametersNue_hpp
10 
11 #include "TVector3.h"
12 
13 #include "RecoBase/Cluster.h"
14 #include "RecoBase/Shower.h"
15 #include "RecoBase/Vertex.h"
16 #include "ShowerLID/ShowerLID.h"
17 #include "ShowerLID/EventLID.h"
18 #include "CosRej/NueCosRej.h"
19 #include "LEM/PIDDetails.h"
20 #include "Geometry/LiveGeometry.h"
24 #include "CVN/func/Result.h"
25 #include "Preselection/PreselObj.h"
26 #include "Preselection/Veto.h"
27 
29 
30 namespace skim{
31  class ParametersNue;
32 }
33 
35 
36 public:
37  ParametersNue();
38  ParametersNue(rb::Cluster const& slice,
39  rb::Vertex const& vertex,
41  std::vector<rb::Shower const*> & showers,
42  std::vector<rb::Prong const*> & prongs,
43  std::vector<slid::ShowerLID const*> & slids,
44  slid::EventLID const& elid,
45  lem::PIDDetails const& lem,
46  cvn::Result const& cvn,
47  presel::Veto const& nueveto);
48  // Added for 2017 Analysis, good for 2018 Analysis
49  ParametersNue(rb::Cluster const& slice,
50  rb::Vertex const& vertex,
51  cosrej::NueCosRej const& cosrej,
52  std::vector<rb::Shower const*> & showers,
53  std::vector<rb::Prong const*> & prongs,
54  std::vector<slid::ShowerLID const*> & slids,
55  std::map<std::string, float> closestsliceinfo,
56  slid::EventLID const& elid,
57  // lem::PIDDetails const& lem, // No Lem INFO for Analysys 2017 (??)
58  cvn::Result const& cvn,
59  presel::Veto const& nueveto);
60  //ParametersNue(caf::StandardRecord const& sr);
61  virtual ~ParametersNue();
62 
63  // this object should not be copied or assigned.
64  //ParametersNue(ParametersNue const &) = delete;
65  //ParametersNue(ParametersNue &&) = delete;
66  //ParametersNue & operator = (ParametersNue const &) = delete;
67  //ParametersNue & operator = (ParametersNue &&) = delete;
68 
69  float const& NumPlane() const { return fParameters.fNumPlane; }
70  float const& PlanesToFront() const { return fParameters.fPlanesToFront; }
71  float const& CellsPerPlane() const { return fParameters.fCellsPerPlane; }
72  float const& NumXCell() const { return fParameters.fNumXCell; }
73  float const& NumYCell() const { return fParameters.fNumYCell; }
74  float const& SliceHits() const { return fParameters.fSliceHits; }
75  float const& HitAsymmetry() const { return fParameters.fHitAsymmetry; }
76  float const& NumShowers() const { return fParameters.fNumShowers; }
77  float const& ShowerNumXCell() const { return fParameters.fShowerNumXCell; }
78  float const& ShowerNumYCell() const { return fParameters.fShowerNumYCell; }
79  float const& CosShowers() const { return fParameters.fCosShowers; }
80  float const& ProngLength() const { return fParameters.fProngLength; }
81  float const& ShowerCalE() const { return fParameters.fShowerCalE; }
82  float const& ShowerTotalE() const { return fParameters.fShowerTotalE; }
83  float const& FracShowerHits() const { return fParameters.fFracShowerHits; }
84  TVector3 const& ShowerDir() const { return fShowerDir; }
85  TVector3 const& ShowerEnd() const { return fShowerEnd; }
86  TVector3 const& ShowerVertex() const { return fShowerVertex; }
87  float const& ShowerVtxDist() const { return fParameters.fShowerVtxDist; }
88  float const& ShowerPt() const { return fParameters.fShowerPt; }
89  float const& ShowerMinX() const { return fParameters.fShowerMinX; }
90  float const& ShowerMinY() const { return fParameters.fShowerMinY; }
91  float const& ShowerMaxX() const { return fParameters.fShowerMaxX; }
92  float const& ShowerMaxY() const { return fParameters.fShowerMaxY; }
93  float const& ShowerMinVtxZ() const { return fParameters.fShowerMinVtxZ; }
94  float const& ShowerMinEndZ() const { return fParameters.fShowerMinEndZ; }
95  float const& ShowerMaxVtxZ() const { return fParameters.fShowerMaxVtxZ; }
96  float const& ShowerMaxEndZ() const { return fParameters.fShowerMaxEndZ; }
97  float const& SliceMinPlane() const { return fParameters.fSliceMinPlane; }
98  TVector3 const& Vertex() const { return fVertex; }
99  float const& VertexMaxW() const { return fParameters.fVertexMaxW; }
100  float const& CalorimetricE() const { return fParameters.fCalorimetricE; }
101  float const& SliceTotalE() const { return fParameters.fSliceTotalE; }
102  float const& NueEnergy() const { return fParameters.fNueEnergy; }
103  float const& MinWestDist() const { return fParameters.fMinWestDist; }
104  float const& MinEastDist() const { return fParameters.fMinEastDist; }
105  float const& MinBotDist() const { return fParameters.fMinBotDist; }
106  float const& MinTopDist() const { return fParameters.fMinTopDist; }
107  float const& MinFrontDist() const { return fParameters.fMinFrontDist; }
108  float const& MinBackDist() const { return fParameters.fMinBackDist; }
109  float const& DistAllTop() const { return fParameters.fDistAllTop; }
110  float const& DistAllBottom() const { return fParameters.fDistAllBottom; }
111  float const& DistAllWest() const { return fParameters.fDistAllWest; }
112  float const& DistAllEast() const { return fParameters.fDistAllEast; }
113  float const& DistAllFront() const { return fParameters.fDistAllFront; }
114  float const& DistAllBack() const { return fParameters.fDistAllBack; }
115  bool const& VetoKeepNue() const { return fParameters.fVetoKeepNue; }
116  float const& SparsenessAsymm() const { return fParameters.fSparsenessAsymm; }
117  float const& SparsenessAsymmSlice() const { return fParameters.fSparsenessAsymmSlice; }
118  float const& LIDVal() const { return fParameters.fLIDVal; }
119  float const& LEMVal() const { return fParameters.fLEMVal; }
120  float const& CVNVal() const { return fParameters.fCVNVal; }
121  float const& NumShowersLID() const { return fParameters.fNumShowersLID; }
122 
123  // Closest Slice Info
124  float const& ClosestSliceTime() const { return fParameters.fClosestSliceTime; }
126  float const& ClosestSliceMinDist() const { return fParameters.fClosestSliceMinDist; }
127 
128  // Peripheral
129  float const& CosPIDContain() const { return fParameters.fCosPIDContain; }
130 
131  NueCutParameters const& ParametersStruct() const { return fParameters; }
132 
133  friend std::ostream& operator<< (std::ostream& o, ParametersNue const& p);
134 
135  float SANueRecoE(float rawEM, float rawHA);
136  void Compare(NueCutParameters const& compCuts);
137 
138  private:
139 
140  art::ServiceHandle<geo::LiveGeometry> fLiveGeom; ///< the LiveGeometry service
142 
144  TVector3 fShowerDir;
145  TVector3 fShowerEnd;
146  TVector3 fShowerVertex;
147  TVector3 fVertex;
148 };
149 
150 #endif /* ParametersNue_hpp */
float fShowerMaxY
max y for all shower end points
float const & SliceMinPlane() const
Definition: ParametersNue.h:97
float const & PlanesToFront() const
Definition: ParametersNue.h:70
float fClosestSliceDistFromTop
float fMinBotDist
minimum distance to the bottom edge
float fNumPlane
number of planes in slice
float const & CalorimetricE() const
A 3D position and time representing an interaction vertex.
Definition: Vertex.h:15
float const & ShowerNumYCell() const
Definition: ParametersNue.h:78
float fMinFrontDist
minimum distance to the front edge
float fSparsenessAsymmSlice
assymmetry in the zero-hit planes at the start and end of the slice. Used for rejection of backward c...
float fCosShowers
cosine of angle between showers in slice
Definition: event.h:34
float SANueRecoE(float rawEM, float rawHA)
float const & SparsenessAsymmSlice() const
float fDistAllTop
distance of all showers in slice from the top edge of detector
float const & ShowerPt() const
Definition: ParametersNue.h:88
float fLIDVal
value of the LID PID
float const & NueEnergy() const
float const & CVNVal() const
float fMinTopDist
minimum distance to the top edge
NueCutParameters fParameters
float fShowerMinY
min y for all shower end points
float fVertexMaxW
maximum w value of the vertex
float const & ShowerMaxVtxZ() const
Definition: ParametersNue.h:95
float const & ProngLength() const
Definition: ParametersNue.h:80
TVector3 const & ShowerEnd() const
Definition: ParametersNue.h:85
float fHitAsymmetry
hit asymmetry between views in slice
friend std::ostream & operator<<(std::ostream &o, ParametersNue const &p)
const char * p
Definition: xmltok.h:285
float const & NumXCell() const
Definition: ParametersNue.h:72
float const & ShowerMaxEndZ() const
Definition: ParametersNue.h:96
float fShowerVtxDist
distance between the shower vertex and interaction vertex
A collection of associated CellHits.
Definition: Cluster.h:47
float fShowerCalE
calorimetric energy in primary shower in slice
float const & DistAllWest() const
float fShowerMinVtxZ
minimum Z position of all showers
float fShowerMaxX
max x for all shower end points
float const & MinEastDist() const
Defines an enumeration for prong classification.
float fShowerNumXCell
number of x cells in slice
float const & CosPIDContain() const
float const & ShowerMaxX() const
Definition: ParametersNue.h:91
float const & DistAllFront() const
Module to create a summary of total POT seen in a job.
Definition: Evaluator.h:27
float const & CellsPerPlane() const
Definition: ParametersNue.h:71
float fPlanesToFront
number of planes to the front of detector
float const & ShowerMinEndZ() const
Definition: ParametersNue.h:94
TVector3 const & Vertex() const
Definition: ParametersNue.h:98
PID
Definition: FillPIDs.h:14
float const & ShowerCalE() const
Definition: ParametersNue.h:81
A class detailing the cuts made on a particular slice.
Definition: Veto.h:12
float const & ShowerMinVtxZ() const
Definition: ParametersNue.h:93
float fMinBackDist
minimum distance to the back edge
float fMinEastDist
minimum distance to the east edge
float fDistAllFront
distance of all showers in slice from the front edge of detector
float const & ShowerMinY() const
Definition: ParametersNue.h:90
Result for CVN.
float const & MinTopDist() const
float fFracShowerHits
fraction of slice hits in the primary shower
float fLEMVal
value of the LEM PID
float const & HitAsymmetry() const
Definition: ParametersNue.h:75
float const & VertexMaxW() const
Definition: ParametersNue.h:99
float fMinWestDist
minimum distance to the west edge
float fNumShowers
number of showers in slice
float fProngLength
length of largest prong in slice
float const & DistAllBack() const
TVector3 const & ShowerVertex() const
Definition: ParametersNue.h:86
float fShowerMaxEndZ
maximum Z position of all showers
float fDistAllEast
distance of all showers in slice from the east edge of detector
NueCutParameters const & ParametersStruct() const
art::ServiceHandle< nova::dbi::RunHistoryService > fRunHistory
the RunHistory service
float const & DistAllTop() const
float const & MinBackDist() const
Vertex location in position and time.
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
float fSliceTotalE
TotalE of the slice.
float const & LIDVal() const
float const & SliceTotalE() const
float const & ShowerMinX() const
Definition: ParametersNue.h:89
float const & DistAllBottom() const
bool const & VetoKeepNue() const
float const & SparsenessAsymm() const
float fNueEnergy
reconstructed nue energy
float fSparsenessAsymm
assymmetry in the zero-hit planes at the start and end of the shower. Used for rejection of backward ...
float const & CosShowers() const
Definition: ParametersNue.h:79
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
float fShowerTotalE
TotalE energy in primary shower in slice.
void Compare(NueCutParameters const &compCuts)
Result, basic output of CVN neural net.
Definition: Result.h:15
TVector3 const & ShowerDir() const
Definition: ParametersNue.h:84
float fShowerMaxVtxZ
maximum Z position of all showers
float fSliceMinPlane
minimum plane of the slice
art::ServiceHandle< geo::LiveGeometry > fLiveGeom
the LiveGeometry service
float const & ShowerTotalE() const
Definition: ParametersNue.h:82
float fSliceHits
total number of hits in slice
float fDistAllWest
distance of all showers in slice from the west edge of detector
float const & ShowerNumXCell() const
Definition: ParametersNue.h:77
float const & NumYCell() const
Definition: ParametersNue.h:73
float fNumShowersLID
size of showerLIDs in a slice
float const & ClosestSliceDistFromTop() const
float const & ShowerMaxY() const
Definition: ParametersNue.h:92
float fShowerMinX
min x for all shower end points
float fNumYCell
number of y cells in slice
float const & MinBotDist() const
Attach LEM-specific info to the base PID object.
Definition: PIDDetails.h:20
float const & DistAllEast() const
float fCellsPerPlane
number of cells per plane in slice
bool fVetoKeepNue
cosmic rejection boolean
float fShowerPt
shower transverse momentum
float const & SliceHits() const
Definition: ParametersNue.h:74
float fCalorimetricE
calorimetric energy of the slice
float const & FracShowerHits() const
Definition: ParametersNue.h:83
float fCosPIDContain
CosPIDContain used for peripheral sample.
Object collecting Preselection variables.
float const & LEMVal() const
float const & ClosestSliceMinDist() const
float const & MinFrontDist() const
float fShowerMinEndZ
minimum Z position of all showers
float fShowerNumYCell
number of y cells in slice
float const & NumShowers() const
Definition: ParametersNue.h:76
float fNumXCell
number of x cells in slice
float fDistAllBack
distance of all showers in slice from the back edge of detector
float const & ClosestSliceTime() const
float const & NumShowersLID() const
float const & NumPlane() const
Definition: ParametersNue.h:69
float const & ShowerVtxDist() const
Definition: ParametersNue.h:87
float fCVNVal
value of the CVN PI
float const & MinWestDist() const