CbmRoot
PairAnalysis.h
Go to the documentation of this file.
1 #ifndef PAIRANALYSIS_H
2 #define PAIRANALYSIS_H
3 
4 #include <THnBase.h>
5 #include <TNamed.h>
6 #include <TObjArray.h>
7 #include <TSpline.h>
8 
9 #include "AnalysisFilter.h"
10 #include "PairAnalysisCutQA.h"
11 #include "PairAnalysisHF.h"
12 #include "PairAnalysisHistos.h"
13 
14 class PairAnalysisEvent;
15 class THashList;
17 class PairAnalysisPair;
20 
21 //________________________________________________________________
22 class PairAnalysis : public TNamed {
23 
24  friend class PairAnalysisMixingHandler; //mixing as friend class
25 public:
26  enum EPairType {
27  kSEPP = 0,
36  };
38  enum CutType {
39  kBothLegs = 0,
41  kOneLeg
42  };
43 
44  PairAnalysis();
45  PairAnalysis(const char* name, const char* title);
46  virtual ~PairAnalysis();
47 
48  void Init();
49 
50  void Process(TObjArray* arr);
51  Bool_t Process(PairAnalysisEvent* ev1);
52 
53  const AnalysisFilter& GetEventFilter() const { return fEventFilter; }
54  const AnalysisFilter& GetTrackFilter() const { return fTrackFilter; }
55  const AnalysisFilter& GetPairFilter() const { return fPairFilter; }
56 
57  const AnalysisFilter& GetTrackFilterMC() const { return fTrackFilterMC; }
58  const AnalysisFilter& GetPairFilterMC() const { return fPairFilterMC; }
59 
66 
69 
71  void SetCutQA(Bool_t qa = kTRUE) { fCutQA = qa; }
72  void SetNoPairing(Bool_t noPairing = kTRUE) { fNoPairing = noPairing; }
73  Bool_t IsNoPairing() { return fNoPairing; }
74  void SetProcessLS(Bool_t doLS = kTRUE) { fProcessLS = doLS; }
75  Bool_t DoProcessLS() { return fProcessLS; }
76  void SetUseKF(Bool_t useKF = kTRUE) { fUseKF = useKF; }
77 
78  const TObjArray* GetTrackArray(Int_t i) const {
79  return (i >= 0 && i < 4) ? &fTracks[i] : 0;
80  }
81  const TObjArray* GetPairArray(Int_t i) const {
82  return (i >= 0 && i < kPairTypes)
83  ? static_cast<TObjArray*>(fPairCandidates->UncheckedAt(i))
84  : 0;
85  }
86 
87  TObjArray** GetPairArraysPointer() { return &fPairCandidates; }
88  void SetPairArraysPointer(TObjArray* arr) { fPairCandidates = arr; }
89 
90  // outputs - hist array
91  void SetHistogramArray(PairAnalysisHF* const histoarray) {
92  fHistoArray = histoarray;
93  }
94  const TObjArray* GetHistogramArray() const {
95  return fHistoArray ? fHistoArray->GetHistArray() : 0x0;
96  }
97  const THashList* GetQAHistList() const {
98  return fQAmonitor ? fQAmonitor->GetQAHistList() : 0x0;
99  }
100  // outputs - histos
101  void SetHistogramManager(PairAnalysisHistos* const histos) {
102  fHistos = histos;
103  }
104  PairAnalysisHistos* GetHistoManager() const { return fHistos; }
105  const THashList* GetHistogramList() const {
106  return fHistos ? fHistos->GetHistogramList() : 0x0;
107  }
108  // outputs - cut detailed histos
109  THashList* GetCutStepHistogramList() const {
110  return fCutStepHistos->GetSize() ? fCutStepHistos : 0x0;
111  }
112 
113  Bool_t HasCandidates() const {
114  return GetPairArray(1) ? GetPairArray(1)->GetEntriesFast() > 0 : 0;
115  }
116  Bool_t HasCandidatesTR() const {
117  return GetPairArray(7) ? GetPairArray(7)->GetEntriesFast() > 0 : 0;
118  }
119  Bool_t HasCandidatesLikeSign() const {
120  return (GetPairArray(0) && GetPairArray(2))
121  ? (GetPairArray(0)->GetEntriesFast() > 0
122  || GetPairArray(2)->GetEntriesFast() > 0)
123  : 0;
124  }
125 
126  // prefilter
127  void SetPreFilterUnlikeOnly(Bool_t setValue = kTRUE) {
128  fPreFilterUnlikeOnly = setValue;
129  };
130  void SetPreFilterAllSigns(Bool_t setValue = kTRUE) {
131  fPreFilterAllSigns = setValue;
132  };
133 
134  // background estimator - track rotation
136  fTrackRotator = rot;
137  }
139  void SetStoreRotatedPairs(Bool_t storeTR) { fStoreRotatedPairs = storeTR; }
140  // background estimator - mixed events
143 
144  void SetDontClearArrays(Bool_t dontClearArrays = kTRUE) {
145  fDontClearArrays = dontClearArrays;
146  }
147  Bool_t DontClearArrays() const { return fDontClearArrays; }
148 
149  // mc specific
150  void SetHasMC(Bool_t hasMC) { fHasMC = hasMC; }
151  void AddSignalMC(PairAnalysisSignalMC* signal);
152  void SetMotherPdg(Int_t pdgMother) { fPdgMother = pdgMother; }
153  void SetLegPdg(Int_t pdgLeg1, Int_t pdgLeg2) {
154  fPdgLeg1 = pdgLeg1;
155  fPdgLeg2 = pdgLeg2;
156  }
157  void SetRefitWithMassAssump(Bool_t setValue = kTRUE) {
158  fRefitMassAssump = setValue;
159  }
160  const TObjArray* GetMCSignals() const { return fSignalsMC; }
161  Bool_t GetHasMC() const { return fHasMC; }
162  Int_t GetMotherPdg() const { return fPdgMother; }
163  Int_t GetLeg1Pdg() const { return fPdgLeg1; }
164  Int_t GetLeg2Pdg() const { return fPdgLeg2; }
165 
166  static const char* TrackClassName(Int_t i) {
167  return (i >= 0 && i < 2) ? fgkTrackClassNames[i] : "";
168  }
169  static const char* PairClassName(Int_t i) {
170  return (i >= 0 && i < 8) ? fgkPairClassNames[i] : "";
171  }
172 
173  Bool_t DoEventProcess() const { return fEventProcess; }
174  void SetEventProcess(Bool_t setValue = kTRUE) { fEventProcess = setValue; }
175  void FillHistogramsFromPairArray(Bool_t pairInfoOnly = kFALSE);
176 
177 private:
178  Bool_t fCutQA = kFALSE; // monitor cuts
179  PairAnalysisCutQA* fQAmonitor = NULL; // monitoring of cuts
180 
183  AnalysisFilter fPairPreFilterLegs; // leg filter before pair prefilter cuts
184  AnalysisFilter fPairPreFilter; // pair prefilter cuts
185  AnalysisFilter fFinalTrackFilter; // Leg filter after the pair prefilter cuts
187 
188  AnalysisFilter fTrackFilterMC; // MCtruth leg cuts
189  AnalysisFilter fPairFilterMC; // MCtruth pair cuts
190 
191  Int_t fPdgMother = 443; // pdg code of mother tracks
192  Int_t fPdgLeg1 = 11; // pdg code leg1
193  Int_t fPdgLeg2 = 11; // pdg code leg2
195  kFALSE; // wether refit under pdgleg mass assumption should be done
196 
197  TObjArray* fSignalsMC = NULL; // array of PairAnalysisSignalMC
198 
199  CutType fCutType = kBothLegs; // type of pairprefilterleg cut logic
200  Bool_t fNoPairing =
201  kFALSE; // if to skip pairing, can be used for track QA only
202  Bool_t fProcessLS = kTRUE; // do the like-sign pairing
203  Bool_t fUseKF = kFALSE; // use KF particle for pairing
204 
205  THashList* fCutStepHistos = NULL; // list of histogram managers
206  PairAnalysisHF* fHistoArray = NULL; // matrix of histograms
207  PairAnalysisHistos* fHistos = NULL; // Histogram manager
208  // Streaming and merging should be handled
209  // by the analysis framework
210  TBits* fUsedVars; // used variables
211 
212  TObjArray fTracks[4];
213  // 0: SameEvent, positive particles
214  // 1: SameEvent, negative particles
215  // 2: MixedEvent, positive particles (not used)
216  // 3: MixedEvent, negative particles (not used)
217 
218  TObjArray* fPairCandidates;
219  //TODO: better way to store it? TClonesArray?
220 
221  PairAnalysisTrackRotator* fTrackRotator = NULL; //Track rotator
222  PairAnalysisMixingHandler* fMixing = NULL; // handler for event mixing
223 
225  kFALSE; // Apply PreFilter either in +- or to ++/--/+- individually
227  kFALSE; // Apply PreFilter find in ++/--/+- and remove from all
228  Bool_t fHasMC =
229  kFALSE; // If we run with MC, at the moment only needed in AOD
231  kFALSE; // If the rotated pairs should be stored in the pair array
233  kFALSE; // Don't clear the arrays at the end of the Process function, needed for external use of pair and tracks
234  Bool_t fEventProcess = kTRUE; // Process event (or pair array)
235 
236  void FillTrackArrays(PairAnalysisEvent* const ev);
237  void PairPreFilter(Int_t arr1,
238  Int_t arr2,
239  TObjArray& arrTracks1,
240  TObjArray& arrTracks2);
241  void FilterTrackArrays(TObjArray& arrTracks1, TObjArray& arrTracks2);
242  void FillPairArrays(Int_t arr1, Int_t arr2);
243  void FillPairArrayTR();
244 
245  Int_t GetPairIndex(Int_t arr1, Int_t arr2) const;
246 
248  void ClearArrays();
249 
250  TObjArray* PairArray(Int_t i);
251 
252  static const char* fgkTrackClassNames[2]; // Names for track arrays
253  static const char* fgkPairClassNames[8]; // Names for pair arrays
254 
255  void ProcessMC();
256 
257  void FillHistograms(const PairAnalysisEvent* ev,
258  Bool_t pairInfoOnly = kFALSE);
259  Bool_t FillMCHistograms(Int_t label1, Int_t label2, Int_t nSignal);
262  Bool_t fromPreFilter = kFALSE);
263  void FillHistogramsTracks(TObjArray** tracks);
264  void FillHistogramsHits(const PairAnalysisEvent* ev,
265  TBits* fillMC,
266  PairAnalysisTrack* track,
267  Bool_t trackIsLeg,
268  Double_t* values);
270  UInt_t cutmask,
271  PairAnalysisTrack* trk,
272  const Double_t* values);
274  UInt_t cutmask,
275  Int_t label,
276  const Double_t* values);
277 
280 
281  ClassDef(PairAnalysis, 2); //Steering class to process the data
282 };
283 
284 inline Int_t PairAnalysis::GetPairIndex(Int_t arr1, Int_t arr2) const {
285  //
286  // get pair index
287  //
288  if (arr1 == 0 && arr2 == arr1) return kSEPP;
289  if (arr1 == 0 && arr2 == 1) return kSEPM;
290  if (arr1 == 1 && arr2 == arr1) return kSEMM;
291  if (arr1 == 0 && arr2 == 2) return kMEPP;
292  if (arr1 == 1 && arr2 == 2) return kMEMP;
293  if (arr1 == 0 && arr2 == 3) return kMEPM;
294  if (arr1 == 1 && arr2 == 3) return kMEMM;
295  return kSEPMRot;
296 }
297 
298 
300  //
301  // initialise all pair candidate arrays
302  //
303  fPairCandidates->SetOwner();
304  for (Int_t i = 0; i < 8; ++i) {
305  TObjArray* arr = new TObjArray;
306  arr->SetName(fgkPairClassNames[i]);
307  fPairCandidates->AddAt(arr, i);
308  arr->SetOwner();
309  }
310 }
311 
312 inline TObjArray* PairAnalysis::PairArray(Int_t i) {
313  //
314  // for internal use only: unchecked return of pair array for fast access
315  //
316  return static_cast<TObjArray*>(fPairCandidates->UncheckedAt(i));
317 }
318 
320  //
321  // Reset the Arrays
322  //
323  for (Int_t i = 0; i < 4; ++i) {
324  fTracks[i].Clear();
325  }
326  for (Int_t i = 0; i < 8; ++i) {
327  if (PairArray(i)) PairArray(i)->Delete();
328  }
329 }
330 
331 #endif
PairAnalysis::GetPairIndex
Int_t GetPairIndex(Int_t arr1, Int_t arr2) const
Definition: PairAnalysis.h:284
PairAnalysis::kMEMP
@ kMEMP
Definition: PairAnalysis.h:31
PairAnalysis::SetHistogramManager
void SetHistogramManager(PairAnalysisHistos *const histos)
Definition: PairAnalysis.h:101
PairAnalysis::Init
void Init()
Definition: PairAnalysis.cxx:141
PairAnalysis::HasCandidatesTR
Bool_t HasCandidatesTR() const
Definition: PairAnalysis.h:116
PairAnalysis::fPdgMother
Int_t fPdgMother
Definition: PairAnalysis.h:191
PairAnalysis::GetMixingHandler
PairAnalysisMixingHandler * GetMixingHandler() const
Definition: PairAnalysis.h:142
PairAnalysis::SetNoPairing
void SetNoPairing(Bool_t noPairing=kTRUE)
Definition: PairAnalysis.h:72
PairAnalysis::fPdgLeg2
Int_t fPdgLeg2
Definition: PairAnalysis.h:193
PairAnalysis::FillCutStepHistograms
void FillCutStepHistograms(AnalysisFilter *filter, UInt_t cutmask, PairAnalysisTrack *trk, const Double_t *values)
Definition: PairAnalysis.cxx:1717
PairAnalysis::GetQAHistList
const THashList * GetQAHistList() const
Definition: PairAnalysis.h:97
PairAnalysis::TrackClassName
static const char * TrackClassName(Int_t i)
Definition: PairAnalysis.h:166
PairAnalysis::SetRefitWithMassAssump
void SetRefitWithMassAssump(Bool_t setValue=kTRUE)
Definition: PairAnalysis.h:157
PairAnalysis::Process
void Process(TObjArray *arr)
Definition: PairAnalysis.cxx:211
PairAnalysis::kAnyLeg
@ kAnyLeg
Definition: PairAnalysis.h:40
PairAnalysis::fEventFilter
AnalysisFilter fEventFilter
Definition: PairAnalysis.h:181
PairAnalysis::SetMixingHandler
void SetMixingHandler(PairAnalysisMixingHandler *mix)
Definition: PairAnalysis.h:141
PairAnalysis::fUsedVars
TBits * fUsedVars
Definition: PairAnalysis.h:210
PairAnalysis::DoProcessLS
Bool_t DoProcessLS()
Definition: PairAnalysis.h:75
PairAnalysis::kSEPP
@ kSEPP
Definition: PairAnalysis.h:27
AnalysisFilter.h
PairAnalysis::EPairType
EPairType
Definition: PairAnalysis.h:26
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
PairAnalysis::FilterTrackArrays
void FilterTrackArrays(TObjArray &arrTracks1, TObjArray &arrTracks2)
Definition: PairAnalysis.cxx:1287
PairAnalysis::SetLegPdg
void SetLegPdg(Int_t pdgLeg1, Int_t pdgLeg2)
Definition: PairAnalysis.h:153
PairAnalysis::kLegTypes
@ kLegTypes
Definition: PairAnalysis.h:37
PairAnalysis::fgkPairClassNames
static const char * fgkPairClassNames[8]
Definition: PairAnalysis.h:253
PairAnalysis::kMEPM
@ kMEPM
Definition: PairAnalysis.h:32
PairAnalysis::fPairCandidates
TObjArray * fPairCandidates
Selected track candidates.
Definition: PairAnalysis.h:218
PairAnalysis::fCutQA
Bool_t fCutQA
Definition: PairAnalysis.h:178
PairAnalysis::fStoreRotatedPairs
Bool_t fStoreRotatedPairs
Definition: PairAnalysis.h:230
PairAnalysis::GetFinalTrackFilter
AnalysisFilter & GetFinalTrackFilter()
Definition: PairAnalysis.h:65
PairAnalysisTrackRotator
Definition: PairAnalysisTrackRotator.h:17
PairAnalysis::fTrackFilter
AnalysisFilter fTrackFilter
Definition: PairAnalysis.h:182
PairAnalysis::GetTrackFilterMC
const AnalysisFilter & GetTrackFilterMC() const
Definition: PairAnalysis.h:57
PairAnalysisTrack
Definition: PairAnalysisTrack.h:37
PairAnalysis::~PairAnalysis
virtual ~PairAnalysis()
Definition: PairAnalysis.cxx:126
PairAnalysis::fPreFilterAllSigns
Bool_t fPreFilterAllSigns
Definition: PairAnalysis.h:226
PairAnalysis::FillPairArrays
void FillPairArrays(Int_t arr1, Int_t arr2)
Definition: PairAnalysis.cxx:1356
PairAnalysisCutQA::GetQAHistList
const THashList * GetQAHistList() const
Definition: PairAnalysisCutQA.h:45
PairAnalysis::fPairPreFilterLegs
AnalysisFilter fPairPreFilterLegs
Definition: PairAnalysis.h:183
PairAnalysis::FillCutStepHistogramsMC
void FillCutStepHistogramsMC(AnalysisFilter *filter, UInt_t cutmask, Int_t label, const Double_t *values)
Definition: PairAnalysis.cxx:1790
PairAnalysis::fPairFilter
AnalysisFilter fPairFilter
Definition: PairAnalysis.h:186
PairAnalysis::SetPairArraysPointer
void SetPairArraysPointer(TObjArray *arr)
Definition: PairAnalysis.h:88
PairAnalysisPair
Definition: PairAnalysisPair.h:25
PairAnalysis::ELegType
ELegType
Definition: PairAnalysis.h:37
PairAnalysis::SetStoreRotatedPairs
void SetStoreRotatedPairs(Bool_t storeTR)
Definition: PairAnalysis.h:139
PairAnalysis::fEventProcess
Bool_t fEventProcess
Definition: PairAnalysis.h:234
PairAnalysis::SetHasMC
void SetHasMC(Bool_t hasMC)
Definition: PairAnalysis.h:150
PairAnalysis::FillHistogramsFromPairArray
void FillHistogramsFromPairArray(Bool_t pairInfoOnly=kFALSE)
Definition: PairAnalysis.cxx:1637
PairAnalysis::SetMotherPdg
void SetMotherPdg(Int_t pdgMother)
Definition: PairAnalysis.h:152
PairAnalysis::AddSignalMC
void AddSignalMC(PairAnalysisSignalMC *signal)
Definition: PairAnalysis.cxx:1501
PairAnalysis::SetTrackRotator
void SetTrackRotator(PairAnalysisTrackRotator *const rot)
Definition: PairAnalysis.h:135
PairAnalysis::FillHistograms
void FillHistograms(const PairAnalysisEvent *ev, Bool_t pairInfoOnly=kFALSE)
Definition: PairAnalysis.cxx:611
PairAnalysis::FillTrackArrays
void FillTrackArrays(PairAnalysisEvent *const ev)
Definition: PairAnalysis.cxx:920
PairAnalysis::SetPairPreFilterLegCutType
void SetPairPreFilterLegCutType(CutType type)
Definition: PairAnalysis.h:70
PairAnalysis::GetMCSignals
const TObjArray * GetMCSignals() const
Definition: PairAnalysis.h:160
PairAnalysis::fRefitMassAssump
Bool_t fRefitMassAssump
Definition: PairAnalysis.h:194
PairAnalysis::FillHistogramsMC
void FillHistogramsMC(const PairAnalysisEvent *ev, PairAnalysisEvent *ev1)
Definition: PairAnalysis.cxx:591
PairAnalysis::SetDontClearArrays
void SetDontClearArrays(Bool_t dontClearArrays=kTRUE)
Definition: PairAnalysis.h:144
PairAnalysis::fSignalsMC
TObjArray * fSignalsMC
Definition: PairAnalysis.h:197
PairAnalysis::PairClassName
static const char * PairClassName(Int_t i)
Definition: PairAnalysis.h:169
PairAnalysis::PairAnalysis
PairAnalysis()
pair prefilter leg cut logic
Definition: PairAnalysis.cxx:101
PairAnalysis::fTrackFilterMC
AnalysisFilter fTrackFilterMC
Definition: PairAnalysis.h:188
PairAnalysis::GetHasMC
Bool_t GetHasMC() const
Definition: PairAnalysis.h:161
PairAnalysis::SetCutQA
void SetCutQA(Bool_t qa=kTRUE)
Definition: PairAnalysis.h:71
tracks
TClonesArray * tracks
Definition: Analyze_matching.h:17
PairAnalysis::kSEMM
@ kSEMM
Definition: PairAnalysis.h:29
PairAnalysisHF::GetHistArray
const TObjArray * GetHistArray() const
Definition: PairAnalysisHF.h:35
PairAnalysis::CutType
CutType
Definition: PairAnalysis.h:38
PairAnalysis::GetTrackFilter
AnalysisFilter & GetTrackFilter()
Definition: PairAnalysis.h:61
PairAnalysis::PairPreFilter
void PairPreFilter(Int_t arr1, Int_t arr2, TObjArray &arrTracks1, TObjArray &arrTracks2)
Definition: PairAnalysis.cxx:1030
PairAnalysis::InitPairCandidateArrays
void InitPairCandidateArrays()
Definition: PairAnalysis.h:299
PairAnalysis::GetHistogramList
const THashList * GetHistogramList() const
Definition: PairAnalysis.h:105
PairAnalysis::fPreFilterUnlikeOnly
Bool_t fPreFilterUnlikeOnly
Definition: PairAnalysis.h:224
PairAnalysis::HasCandidates
Bool_t HasCandidates() const
Definition: PairAnalysis.h:113
PairAnalysis::fgkTrackClassNames
static const char * fgkTrackClassNames[2]
Definition: PairAnalysis.h:252
PairAnalysis::GetTrackRotator
PairAnalysisTrackRotator * GetTrackRotator() const
Definition: PairAnalysis.h:138
PairAnalysisMixingHandler
Definition: PairAnalysisMixingHandler.h:26
PairAnalysis::GetPairFilterMC
AnalysisFilter & GetPairFilterMC()
Definition: PairAnalysis.h:68
PairAnalysis::ClearArrays
void ClearArrays()
Definition: PairAnalysis.h:319
PairAnalysis::fHistos
PairAnalysisHistos * fHistos
Definition: PairAnalysis.h:207
PairAnalysis::GetPairArraysPointer
TObjArray ** GetPairArraysPointer()
Definition: PairAnalysis.h:87
PairAnalysis::GetLeg2Pdg
Int_t GetLeg2Pdg() const
Definition: PairAnalysis.h:164
PairAnalysis::SetPreFilterUnlikeOnly
void SetPreFilterUnlikeOnly(Bool_t setValue=kTRUE)
Definition: PairAnalysis.h:127
PairAnalysis::kSEP
@ kSEP
Definition: PairAnalysis.h:37
PairAnalysis::kOneLeg
@ kOneLeg
Definition: PairAnalysis.h:41
PairAnalysisHF
Definition: PairAnalysisHF.h:24
PairAnalysis::fCutType
CutType fCutType
Definition: PairAnalysis.h:199
PairAnalysis::SetUseKF
void SetUseKF(Bool_t useKF=kTRUE)
Definition: PairAnalysis.h:76
PairAnalysis::kSEPM
@ kSEPM
Definition: PairAnalysis.h:28
PairAnalysis::GetHistoManager
PairAnalysisHistos * GetHistoManager() const
Definition: PairAnalysis.h:104
PairAnalysis::kMEMM
@ kMEMM
Definition: PairAnalysis.h:33
PairAnalysisCutQA
Definition: PairAnalysisCutQA.h:24
PairAnalysis::kBothLegs
@ kBothLegs
Definition: PairAnalysis.h:39
PairAnalysis::SetPreFilterAllSigns
void SetPreFilterAllSigns(Bool_t setValue=kTRUE)
Definition: PairAnalysis.h:130
PairAnalysis::GetPairPreFilter
AnalysisFilter & GetPairPreFilter()
Definition: PairAnalysis.h:64
PairAnalysisEvent
Definition: PairAnalysisEvent.h:25
PairAnalysis::operator=
PairAnalysis & operator=(const PairAnalysis &c)
PairAnalysis::SetProcessLS
void SetProcessLS(Bool_t doLS=kTRUE)
Definition: PairAnalysis.h:74
PairAnalysis::kSEM
@ kSEM
Definition: PairAnalysis.h:37
PairAnalysis::GetTrackFilterMC
AnalysisFilter & GetTrackFilterMC()
Definition: PairAnalysis.h:67
PairAnalysisHF.h
PairAnalysis::GetCutStepHistogramList
THashList * GetCutStepHistogramList() const
Definition: PairAnalysis.h:109
PairAnalysis::fMixing
PairAnalysisMixingHandler * fMixing
Definition: PairAnalysis.h:222
PairAnalysis::GetHistogramArray
const TObjArray * GetHistogramArray() const
Definition: PairAnalysis.h:94
PairAnalysis::GetPairPreFilterLegs
AnalysisFilter & GetPairPreFilterLegs()
Definition: PairAnalysis.h:63
PairAnalysis::DontClearArrays
Bool_t DontClearArrays() const
Definition: PairAnalysis.h:147
AnalysisFilter
Definition: AnalysisFilter.h:15
PairAnalysis::fUseKF
Bool_t fUseKF
Definition: PairAnalysis.h:203
PairAnalysis::fFinalTrackFilter
AnalysisFilter fFinalTrackFilter
Definition: PairAnalysis.h:185
PairAnalysis::GetPairArray
const TObjArray * GetPairArray(Int_t i) const
Definition: PairAnalysis.h:81
PairAnalysis::HasCandidatesLikeSign
Bool_t HasCandidatesLikeSign() const
Definition: PairAnalysis.h:119
PairAnalysis::kPairTypes
@ kPairTypes
Definition: PairAnalysis.h:35
PairAnalysis::fTracks
TObjArray fTracks[4]
Definition: PairAnalysis.h:212
PairAnalysis::kMEPP
@ kMEPP
Definition: PairAnalysis.h:30
PairAnalysis::ClassDef
ClassDef(PairAnalysis, 2)
PairAnalysis
Definition: PairAnalysis.h:22
PairAnalysis::PairArray
TObjArray * PairArray(Int_t i)
Definition: PairAnalysis.h:312
PairAnalysis::GetEventFilter
const AnalysisFilter & GetEventFilter() const
Definition: PairAnalysis.h:53
PairAnalysis::FillPairArrayTR
void FillPairArrayTR()
Definition: PairAnalysis.cxx:1439
PairAnalysis::fPdgLeg1
Int_t fPdgLeg1
Definition: PairAnalysis.h:192
PairAnalysis::ProcessMC
void ProcessMC()
Definition: PairAnalysis.cxx:328
PairAnalysis::fCutStepHistos
THashList * fCutStepHistos
Definition: PairAnalysis.h:205
PairAnalysis::IsNoPairing
Bool_t IsNoPairing()
Definition: PairAnalysis.h:73
PairAnalysis::SetHistogramArray
void SetHistogramArray(PairAnalysisHF *const histoarray)
Definition: PairAnalysis.h:91
PairAnalysis::GetTrackFilter
const AnalysisFilter & GetTrackFilter() const
Definition: PairAnalysis.h:54
PairAnalysisSignalMC
Definition: PairAnalysisSignalMC.h:15
PairAnalysis::fHasMC
Bool_t fHasMC
Definition: PairAnalysis.h:228
PairAnalysis::fHistoArray
PairAnalysisHF * fHistoArray
Definition: PairAnalysis.h:206
PairAnalysis::kSEPMRot
@ kSEPMRot
Definition: PairAnalysis.h:34
PairAnalysis::FillMCHistograms
Bool_t FillMCHistograms(Int_t label1, Int_t label2, Int_t nSignal)
Definition: PairAnalysis.cxx:1520
PairAnalysis::fTrackRotator
PairAnalysisTrackRotator * fTrackRotator
Pair candidate arrays.
Definition: PairAnalysis.h:221
PairAnalysis::fDontClearArrays
Bool_t fDontClearArrays
Definition: PairAnalysis.h:232
PairAnalysis::GetMotherPdg
Int_t GetMotherPdg() const
Definition: PairAnalysis.h:162
PairAnalysis::fNoPairing
Bool_t fNoPairing
Definition: PairAnalysis.h:200
PairAnalysis::FillHistogramsHits
void FillHistogramsHits(const PairAnalysisEvent *ev, TBits *fillMC, PairAnalysisTrack *track, Bool_t trackIsLeg, Double_t *values)
Definition: PairAnalysis.cxx:1856
PairAnalysis::PairAnalysis
PairAnalysis(const PairAnalysis &c)
PairAnalysis::fPairPreFilter
AnalysisFilter fPairPreFilter
Definition: PairAnalysis.h:184
PairAnalysis::GetEventFilter
AnalysisFilter & GetEventFilter()
Definition: PairAnalysis.h:60
PairAnalysisCutQA.h
PairAnalysis::fQAmonitor
PairAnalysisCutQA * fQAmonitor
Definition: PairAnalysis.h:179
PairAnalysisHistos.h
PairAnalysis::DoEventProcess
Bool_t DoEventProcess() const
Definition: PairAnalysis.h:173
PairAnalysis::SetEventProcess
void SetEventProcess(Bool_t setValue=kTRUE)
Definition: PairAnalysis.h:174
PairAnalysis::GetLeg1Pdg
Int_t GetLeg1Pdg() const
Definition: PairAnalysis.h:163
PairAnalysis::fProcessLS
Bool_t fProcessLS
Definition: PairAnalysis.h:202
PairAnalysis::GetPairFilter
const AnalysisFilter & GetPairFilter() const
Definition: PairAnalysis.h:55
PairAnalysis::GetPairFilter
AnalysisFilter & GetPairFilter()
Definition: PairAnalysis.h:62
PairAnalysis::GetTrackArray
const TObjArray * GetTrackArray(Int_t i) const
Definition: PairAnalysis.h:78
PairAnalysis::fPairFilterMC
AnalysisFilter fPairFilterMC
Definition: PairAnalysis.h:189
PairAnalysis::FillHistogramsTracks
void FillHistogramsTracks(TObjArray **tracks)
Definition: PairAnalysis.cxx:567
PairAnalysis::FillHistogramsPair
void FillHistogramsPair(PairAnalysisPair *pair, Bool_t fromPreFilter=kFALSE)
Definition: PairAnalysis.cxx:871
PairAnalysis::GetPairFilterMC
const AnalysisFilter & GetPairFilterMC() const
Definition: PairAnalysis.h:58