HighLAND
numuCCMultiPiAnalysis.hxx
1 #ifndef numuCCMultiPiAnalysis_h
2 #define numuCCMultiPiAnalysis_h
3 
4 #include "numuCCAnalysis.hxx"
5 #include "numuCCMultiPiSelection.hxx"
6 #include "baseTrackerAnalysis.hxx"
7 #include "PionInteractionSystematic.hxx"
8 
10  public:
11 
13  virtual ~numuCCMultiPiAnalysis(){}
14 
15  //---- These are mandatory functions
16 
17  void DefineSelections();
18  void DefineCorrections(){_numuCCAnalysis->DefineCorrections();}
19  void DefineMicroTrees(bool addBase=false);
20  void DefineTruthTree();
21 
22  void FillCategories(){_numuCCAnalysis->FillCategories();}
23 
24  void FillMicroTrees(bool addBase=false);
25  void FillToyVarsInMicroTrees(bool addBase=false);
26 
27  bool CheckFillTruthTree(const AnaTrueVertex& vtx);
28 
29  using baseTrackerAnalysis::FillTruthTree;
30  void FillTruthTree(const AnaTrueVertex& vtx);
31 
32  //--------------------
33 
34  bool Initialize();
35 
36  const ToyBoxCCMultiPi& mybox(){return *static_cast<const ToyBoxCCMultiPi*>(&box());}
37 
38  Int_t FindTPCTracks(const ToyBoxB& box, SubDetId::SubDetEnum det, AnaTrackB** TPCtracks);
39 
40 private:
41  Int_t _whichFGD; // 1 for FGD1 analysis, 2 for FGD2, 3 for both
42 
43  SubDetId::SubDetEnum _fgdID;
44 
45  bool _addPionSIinfo;
46 
47  /// Pion SI manager
48  PionSIManager _pionSIManager;
49 
50 protected:
51 
52  numuCCAnalysis* _numuCCAnalysis;
53 
54 public:
55 
56  enum enumStandardMicroTrees_numuMultiPiAnalysis{
57  HM_pos= numuCCAnalysis::enumStandardMicroTreesLast_numuCCAnalysis + 1,
58  MuonVertexId,
59  MuonIndex,
60  NNegPion,
61  NegPionMom,
62  NegPionPidLik,
63  NegPionElPidLik,
64  NegPionTId,
65  NegPionIndex,
66  NegPionParentTId,
67  NegPionGParentTId,
68  NegPionVId,
69  NegPionDir,
70  NegPionPosStart,
71  NegPionPosEnd,
72  NPosPion,
73  PosPionMom,
74  PosPionTheta,
75  PosPionPidLik,
76  PosPionElPidLik,
77  PosPionTId,
78  PosPionIndex,
79  PosPionParentTId,
80  PosPionGParentTId,
81  PosPionVId,
82  PosPionDir,
83  PosPionPosStart,
84  PosPionPosEnd,
85  NPi0El,
86  Pi0ElMom,
87  Pi0ElPull,
88  Pi0ElTId,
89  Pi0ElIndex,
90  Pi0ElParentTId,
91  Pi0ElGParentTId,
92  Pi0ElVId,
93  Pi0ElDir,
94  Pi0ElPosStart,
95  Pi0ElPosEnd,
96  NPi0Pos,
97  Pi0PosMom,
98  Pi0PosPull,
99  Pi0PosTId,
100  Pi0PosIndex,
101  Pi0PosParentTId,
102  Pi0PosGParentTId,
103  Pi0PosVId,
104  Pi0PosDir,
105  Pi0PosPosStart,
106  Pi0PosPosEnd,
107  NTPCSec,
108  TPCSecMom,
109  TPCSecPiPidLik,
110  TPCSecMuPidLik,
111  TPCSecPrPidLik,
112  TPCSecElPidLik,
113  TPCSecDetectors,
114  TPCSecQ,
115  TPCSecTId,
116  TPCSecIndex,
117  TPCSecParentTId,
118  TPCSecGParentTId,
119  TPCSecDir,
120  TPCSecPosStart,
121  TPCSecPosEnd,
122  NFGDPi,
123  FGDPiLength,
124  FGDPiPiPull,
125  FGDPiAvgTime,
126  FGDPiDistance,
127  FGDPiMuonangle,
128  FGDPiCosTheta,
129  FGDPiTId,
130  FGDPiIndex,
131  FGDPiParentTId,
132  FGDPiGParentTId,
133  FGDPiVId,
134  FGDPiDir,
135  FGDPiPosStart,
136  FGDPiPosEnd,
137  FGDPiTimeIni,
138  FGDPiTimeEnd,
139  FGDPiDeltaTimeIniSelMu,
140  FGDPiDeltaTimeEndSelMu,
141  NFGDEl,
142  FGDElLength,
143  FGDElPiPull,
144  FGDElAvgTime,
145  FGDElDistance,
146  FGDElMuonangle,
147  FGDElCosTheta,
148  FGDElTId,
149  FGDElIndex,
150  FGDElParentTId,
151  FGDElGParentTId,
152  FGDElVId,
153  FGDElDir,
154  FGDElPosStart,
155  FGDElPosEnd,
156  FGDElTimeIni,
157  FGDElTimeEnd,
158  FGDElDeltaTimeIniSelMu,
159  FGDElDeltaTimeEndSelMu,
160  NFGDSec,
161  FGDSecLength,
162  FGDSecPiPull,
163  FGDSecContained,
164  FGDSecAvgTime,
165  FGDSecCosTheta,
166  FGDSecTId,
167  FGDSecIndex,
168  FGDSecParentTId,
169  FGDSecGParentTId,
170  FGDSecDir,
171  FGDSecPosStart,
172  FGDSecPosEnd,
173  FGDSecTimeIni,
174  FGDSecTimeEnd,
175  FGDSecDeltaTimeIniSelMu,
176  FGDSecDeltaTimeEndSelMu,
177  NME,
178  MENHits,
179  MERawCharge,
180  MEMinTime,
181  MEMaxTime,
182  NTPC1Track,
183  TPC1TrackMom,
184  TPC1TrackCosTheta,
185  TPC1TrackPhi,
186  TPC1TrackVId,
187  TPC1TrackTId,
188  TPC1TrackParentTId,
189  TPC1TrackGParentTId,
190  TPC1TrackPosStart,
191  TPC1TrackPosEnd,
192  IntType,
193  NInts,
194  PionType,
195  PionMom,
196  NPions,
197 
198  truepi_mom,
199  truepi_dir,
200  truepi_costheta,
201 
202  enumStandardMicroTreesLast_numuCCMultiPiAnalysis
203  };
204 };
205 
206 #endif
Representation of a true Monte Carlo vertex.
Definition: DataClasses.hxx:50
virtual const ToyBoxTracker & box(Int_t isel=-1) const
Returns the ToyBoxTracker.
SubDetEnum
Enumeration of all detector systems and subdetectors.
Definition: SubDetId.hxx:25
Representation of a global track.
void FillMicroTrees(bool addBase=false)
bool Initialize()
[AnalysisAlgorithm_mandatory]