Go to the documentation of this file.
239 TObjArray& arrTracks1,
240 TObjArray& arrTracks2);
258 Bool_t pairInfoOnly = kFALSE);
262 Bool_t fromPreFilter = kFALSE);
272 const Double_t* values);
276 const Double_t* values);
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;
304 for (Int_t
i = 0;
i < 8; ++
i) {
305 TObjArray* arr =
new TObjArray;
323 for (Int_t
i = 0;
i < 4; ++
i) {
326 for (Int_t
i = 0;
i < 8; ++
i) {
Int_t GetPairIndex(Int_t arr1, Int_t arr2) const
void SetHistogramManager(PairAnalysisHistos *const histos)
Bool_t HasCandidatesTR() const
PairAnalysisMixingHandler * GetMixingHandler() const
void SetNoPairing(Bool_t noPairing=kTRUE)
void FillCutStepHistograms(AnalysisFilter *filter, UInt_t cutmask, PairAnalysisTrack *trk, const Double_t *values)
const THashList * GetQAHistList() const
static const char * TrackClassName(Int_t i)
void SetRefitWithMassAssump(Bool_t setValue=kTRUE)
void Process(TObjArray *arr)
AnalysisFilter fEventFilter
void SetMixingHandler(PairAnalysisMixingHandler *mix)
void FilterTrackArrays(TObjArray &arrTracks1, TObjArray &arrTracks2)
void SetLegPdg(Int_t pdgLeg1, Int_t pdgLeg2)
static const char * fgkPairClassNames[8]
TObjArray * fPairCandidates
Selected track candidates.
Bool_t fStoreRotatedPairs
AnalysisFilter & GetFinalTrackFilter()
AnalysisFilter fTrackFilter
const AnalysisFilter & GetTrackFilterMC() const
Bool_t fPreFilterAllSigns
void FillPairArrays(Int_t arr1, Int_t arr2)
const THashList * GetQAHistList() const
AnalysisFilter fPairPreFilterLegs
void FillCutStepHistogramsMC(AnalysisFilter *filter, UInt_t cutmask, Int_t label, const Double_t *values)
AnalysisFilter fPairFilter
void SetPairArraysPointer(TObjArray *arr)
void SetStoreRotatedPairs(Bool_t storeTR)
void SetHasMC(Bool_t hasMC)
void FillHistogramsFromPairArray(Bool_t pairInfoOnly=kFALSE)
void SetMotherPdg(Int_t pdgMother)
void AddSignalMC(PairAnalysisSignalMC *signal)
void SetTrackRotator(PairAnalysisTrackRotator *const rot)
void FillHistograms(const PairAnalysisEvent *ev, Bool_t pairInfoOnly=kFALSE)
void FillTrackArrays(PairAnalysisEvent *const ev)
void SetPairPreFilterLegCutType(CutType type)
const TObjArray * GetMCSignals() const
void FillHistogramsMC(const PairAnalysisEvent *ev, PairAnalysisEvent *ev1)
void SetDontClearArrays(Bool_t dontClearArrays=kTRUE)
static const char * PairClassName(Int_t i)
PairAnalysis()
pair prefilter leg cut logic
AnalysisFilter fTrackFilterMC
void SetCutQA(Bool_t qa=kTRUE)
const TObjArray * GetHistArray() const
AnalysisFilter & GetTrackFilter()
void PairPreFilter(Int_t arr1, Int_t arr2, TObjArray &arrTracks1, TObjArray &arrTracks2)
void InitPairCandidateArrays()
const THashList * GetHistogramList() const
Bool_t fPreFilterUnlikeOnly
Bool_t HasCandidates() const
static const char * fgkTrackClassNames[2]
PairAnalysisTrackRotator * GetTrackRotator() const
AnalysisFilter & GetPairFilterMC()
PairAnalysisHistos * fHistos
TObjArray ** GetPairArraysPointer()
void SetPreFilterUnlikeOnly(Bool_t setValue=kTRUE)
void SetUseKF(Bool_t useKF=kTRUE)
PairAnalysisHistos * GetHistoManager() const
void SetPreFilterAllSigns(Bool_t setValue=kTRUE)
AnalysisFilter & GetPairPreFilter()
PairAnalysis & operator=(const PairAnalysis &c)
void SetProcessLS(Bool_t doLS=kTRUE)
AnalysisFilter & GetTrackFilterMC()
THashList * GetCutStepHistogramList() const
PairAnalysisMixingHandler * fMixing
const TObjArray * GetHistogramArray() const
AnalysisFilter & GetPairPreFilterLegs()
Bool_t DontClearArrays() const
AnalysisFilter fFinalTrackFilter
const TObjArray * GetPairArray(Int_t i) const
Bool_t HasCandidatesLikeSign() const
ClassDef(PairAnalysis, 2)
TObjArray * PairArray(Int_t i)
const AnalysisFilter & GetEventFilter() const
THashList * fCutStepHistos
void SetHistogramArray(PairAnalysisHF *const histoarray)
const AnalysisFilter & GetTrackFilter() const
PairAnalysisHF * fHistoArray
Bool_t FillMCHistograms(Int_t label1, Int_t label2, Int_t nSignal)
PairAnalysisTrackRotator * fTrackRotator
Pair candidate arrays.
Int_t GetMotherPdg() const
void FillHistogramsHits(const PairAnalysisEvent *ev, TBits *fillMC, PairAnalysisTrack *track, Bool_t trackIsLeg, Double_t *values)
PairAnalysis(const PairAnalysis &c)
AnalysisFilter fPairPreFilter
AnalysisFilter & GetEventFilter()
PairAnalysisCutQA * fQAmonitor
Bool_t DoEventProcess() const
void SetEventProcess(Bool_t setValue=kTRUE)
const AnalysisFilter & GetPairFilter() const
AnalysisFilter & GetPairFilter()
const TObjArray * GetTrackArray(Int_t i) const
AnalysisFilter fPairFilterMC
void FillHistogramsTracks(TObjArray **tracks)
void FillHistogramsPair(PairAnalysisPair *pair, Bool_t fromPreFilter=kFALSE)
const AnalysisFilter & GetPairFilterMC() const