CbmRoot
|
#include <PairAnalysis.h>
Public Types | |
enum class | EPairType { kSEPP = 0 , kSEPM , kSEMM , kMEPP , kMEMP , kMEPM , kMEMM , kSEPMRot , kPairTypes } |
enum class | ELegType { kSEP , kSEM , kLegTypes } |
enum class | ECutType { kBothLegs = 0 , kAnyLeg , kOneLeg } |
Public Member Functions | |
PairAnalysis () | |
pair prefilter leg cut logic | |
PairAnalysis (const char *name, const char *title) | |
virtual | ~PairAnalysis () |
void | Init () |
void | Process (TObjArray *arr) |
Bool_t | Process (PairAnalysisEvent *ev1) |
const AnalysisFilter & | GetEventFilter () const |
const AnalysisFilter & | GetTrackFilter () const |
const AnalysisFilter & | GetPairFilter () const |
const AnalysisFilter & | GetTrackFilterMC () const |
const AnalysisFilter & | GetPairFilterMC () const |
AnalysisFilter & | GetEventFilter () |
AnalysisFilter & | GetTrackFilter () |
AnalysisFilter & | GetPairFilter () |
AnalysisFilter & | GetPairPreFilterLegs () |
AnalysisFilter & | GetPairPreFilter () |
AnalysisFilter & | GetFinalTrackFilter () |
AnalysisFilter & | GetTrackFilterMC () |
AnalysisFilter & | GetPairFilterMC () |
void | SetPairPreFilterLegCutType (ECutType type) |
void | SetCutQA (Bool_t qa=kTRUE) |
void | SetNoPairing (Bool_t noPairing=kTRUE) |
Bool_t | IsNoPairing () |
void | SetProcessLS (Bool_t doLS=kTRUE) |
Bool_t | DoProcessLS () |
void | SetUseKF (Bool_t useKF=kTRUE) |
const TObjArray * | GetTrackArray (Int_t i) const |
const TObjArray * | GetPairArray (Int_t i) const |
TObjArray ** | GetPairArraysPointer () |
void | SetPairArraysPointer (TObjArray *arr) |
void | SetHistogramArray (PairAnalysisHF *const histoarray) |
const TObjArray * | GetHistogramArray () const |
const THashList * | GetQAHistList () const |
void | SetHistogramManager (PairAnalysisHistos *const histos) |
PairAnalysisHistos * | GetHistoManager () const |
const THashList * | GetHistogramList () const |
THashList * | GetCutStepHistogramList () const |
Bool_t | HasCandidates () const |
Bool_t | HasCandidatesTR () const |
Bool_t | HasCandidatesLikeSign () const |
void | SetPreFilterUnlikeOnly (Bool_t setValue=kTRUE) |
void | SetPreFilterAllSigns (Bool_t setValue=kTRUE) |
void | SetTrackRotator (PairAnalysisTrackRotator *const rot) |
PairAnalysisTrackRotator * | GetTrackRotator () const |
void | SetStoreRotatedPairs (Bool_t storeTR) |
void | SetMixingHandler (PairAnalysisMixingHandler *mix) |
PairAnalysisMixingHandler * | GetMixingHandler () const |
void | SetDontClearArrays (Bool_t dontClearArrays=kTRUE) |
Bool_t | DontClearArrays () const |
void | SetHasMC (Bool_t hasMC) |
void | AddSignalMC (PairAnalysisSignalMC *signal) |
void | SetMotherPdg (Int_t pdgMother) |
void | SetLegPdg (Int_t pdgLeg1, Int_t pdgLeg2) |
void | SetRefitWithMassAssump (Bool_t setValue=kTRUE) |
const TObjArray * | GetMCSignals () const |
Bool_t | GetHasMC () const |
Int_t | GetMotherPdg () const |
Int_t | GetLeg1Pdg () const |
Int_t | GetLeg2Pdg () const |
Bool_t | DoEventProcess () const |
void | SetEventProcess (Bool_t setValue=kTRUE) |
void | FillHistogramsFromPairArray (Bool_t pairInfoOnly=kFALSE) |
Static Public Member Functions | |
static const char * | TrackClassName (Int_t i) |
static const char * | PairClassName (Int_t i) |
Static Public Attributes | |
static constexpr Int_t | fNTypes = static_cast<Int_t>(EPairType::kPairTypes) |
static constexpr Int_t | fLegTypes = static_cast<Int_t>(ELegType::kLegTypes) |
Private Member Functions | |
void | FillTrackArrays (PairAnalysisEvent *const ev) |
void | PairPreFilter (Int_t arr1, Int_t arr2, TObjArray &arrTracks1, TObjArray &arrTracks2) |
void | FilterTrackArrays (TObjArray &arrTracks1, TObjArray &arrTracks2) |
void | FillPairArrays (Int_t arr1, Int_t arr2) |
void | FillPairArrayTR () |
Int_t | GetPairIndex (Int_t arr1, Int_t arr2) const |
void | InitPairCandidateArrays () |
void | ClearArrays () |
TObjArray * | PairArray (Int_t i) |
void | ProcessMC () |
void | FillHistograms (const PairAnalysisEvent *ev, Bool_t pairInfoOnly=kFALSE) |
Bool_t | FillMCHistograms (Int_t label1, Int_t label2, Int_t nSignal) |
void | FillHistogramsMC (const PairAnalysisEvent *ev, PairAnalysisEvent *ev1) |
void | FillHistogramsPair (PairAnalysisPair *pair, Bool_t fromPreFilter=kFALSE) |
void | FillHistogramsTracks (TObjArray **tracks) |
void | FillHistogramsHits (const PairAnalysisEvent *ev, TBits *fillMC, PairAnalysisTrack *track, Bool_t trackIsLeg, Double_t *values) |
void | FillCutStepHistograms (AnalysisFilter *filter, UInt_t cutmask, PairAnalysisTrack *trk, const Double_t *values) |
void | FillCutStepHistogramsMC (AnalysisFilter *filter, UInt_t cutmask, Int_t label, const Double_t *values) |
PairAnalysis (const PairAnalysis &c) | |
PairAnalysis & | operator= (const PairAnalysis &c) |
ClassDef (PairAnalysis, 2) | |
Static Private Attributes | |
static const char * | fgkTrackClassNames [2] |
static const char * | fgkPairClassNames [8] = {"SE++", "SE+-", "SE--", "ME++", "ME-+", "ME+-", "ME--", "TR+-"} |
Friends | |
class | PairAnalysisMixingHandler |
Definition at line 26 of file PairAnalysis.h.
|
strong |
Enumerator | |
---|---|
kBothLegs | |
kAnyLeg | |
kOneLeg |
Definition at line 50 of file PairAnalysis.h.
|
strong |
Enumerator | |
---|---|
kSEP | |
kSEM | |
kLegTypes |
Definition at line 43 of file PairAnalysis.h.
|
strong |
Enumerator | |
---|---|
kSEPP | |
kSEPM | |
kSEMM | |
kMEPP | |
kMEMP | |
kMEPM | |
kMEMM | |
kSEPMRot | |
kPairTypes |
Definition at line 30 of file PairAnalysis.h.
PairAnalysis::PairAnalysis | ( | ) |
pair prefilter leg cut logic
Definition at line 97 of file PairAnalysis.cxx.
PairAnalysis::PairAnalysis | ( | const char * | name, |
const char * | title ) |
Definition at line 105 of file PairAnalysis.cxx.
|
virtual |
Definition at line 124 of file PairAnalysis.cxx.
References fCutStepHistos, fEventProcess, fHistoArray, fHistos, fMixing, fPairCandidates, fQAmonitor, fSignalsMC, and fUsedVars.
|
private |
void PairAnalysis::AddSignalMC | ( | PairAnalysisSignalMC * | signal | ) |
Definition at line 1409 of file PairAnalysis.cxx.
References fSignalsMC, and PairAnalysisSignalMC::IsSingleParticle().
|
private |
|
inlineprivate |
Definition at line 283 of file PairAnalysis.h.
References fTracks, and PairArray().
Referenced by Process().
|
inline |
Definition at line 154 of file PairAnalysis.h.
References fEventProcess.
Referenced by AnalysisTaskMultiPairAnalysis::Exec(), and PairAnalysisMixingHandler::Init().
|
inline |
Definition at line 133 of file PairAnalysis.h.
References fDontClearArrays.
Referenced by AnalysisTaskMultiPairAnalysis::Exec().
|
inline |
Definition at line 88 of file PairAnalysis.h.
References fProcessLS.
|
private |
mc instance
hist classes
loop over mc signals
store mc signal weights in track - ATTENTION later signals should be more specific
reset iterator
loop over cuts
UInt_t cutMask=1<<iCut; // for each cut
passed cut
find histogram list of current track
fill track histos only once
fill mc
end passed cut
end cuts
end mc signals
Definition at line 1611 of file PairAnalysis.cxx.
References fgkPairClassNames, fgkTrackClassNames, fHasMC, fLegTypes, fSignalsMC, AnalysisFilter::GetCuts(), AnalysisFilter::GetHistogramList(), PairAnalysisMC::Instance(), and PairAnalysisMC::IsMCTruth().
Referenced by FillTrackArrays(), and FilterTrackArrays().
|
private |
mc instance
hist classes
loop over mc signals
store mc signal weights in track - ATTENTION later signals should be more specific
reset iterator
loop over cuts
UInt_t cutMask=1<<iCut; // for each cut
passed cut
find histogram list of current track
fill mc truth
end passed cut
end cuts
end mc signals
Definition at line 1679 of file PairAnalysis.cxx.
References fgkPairClassNames, fHasMC, fSignalsMC, AnalysisFilter::GetCuts(), PairAnalysisSignalMC::GetFillPureMCStep(), AnalysisFilter::GetHistogramList(), PairAnalysisMC::Instance(), and PairAnalysisMC::IsMCTruth().
Referenced by ProcessMC().
|
private |
Definition at line 588 of file PairAnalysis.cxx.
References fEventProcess, fgkPairClassNames, fgkTrackClassNames, fHistoArray, fHistos, PairAnalysisVarManager::Fill(), PairAnalysisHF::FillClass(), FillHistogramsHits(), fLegTypes, fNTypes, fPairFilter, fSignalsMC, fTracks, fUsedVars, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), PairAnalysisHelper::GetDetName(), PairAnalysisMC::Instance(), PairAnalysisMC::IsMCTruth(), AnalysisFilter::IsSelected(), PairAnalysisSignalMC::IsSingleParticle(), kNofSystems, kRef, kSEPM, PairArray(), and PairAnalysisVarManager::SetFillMap().
void PairAnalysis::FillHistogramsFromPairArray | ( | Bool_t | pairInfoOnly = kFALSE | ) |
Definition at line 1532 of file PairAnalysis.cxx.
References fCutQA, fgkPairClassNames, fHistoArray, fHistos, PairAnalysisCutQa::Fill(), PairAnalysisHF::Fill(), PairAnalysisVarManager::Fill(), PairAnalysisCutQa::FillAll(), fNTypes, fPairFilter, fQAmonitor, fUsedVars, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), AnalysisFilter::IsSelected(), kSEPM, PairArray(), and PairAnalysisVarManager::SetFillMap().
|
private |
histogram name convention
Definition at line 1739 of file PairAnalysis.cxx.
References fHistoArray, fHistos, PairAnalysisVarManager::Fill(), PairAnalysisHF::FillClass(), PairAnalysisVarManager::FillSum(), fSignalsMC, PairAnalysisHelper::GetDetName(), CbmRichRing::GetHit(), CbmTrack::GetHitIndex(), PairAnalysisEvent::GetHits(), CbmLink::GetIndex(), CbmMatch::GetLink(), CbmHit::GetMatch(), CbmMatch::GetMatchedLink(), PairAnalysisMC::GetMothersLabel(), CbmRichRing::GetNofHits(), CbmTrack::GetNofHits(), CbmMatch::GetNofLinks(), PairAnalysisEvent::GetPoints(), PairAnalysisTrack::GetRichRing(), PairAnalysisTrack::GetTofHit(), PairAnalysisTrack::GetTrack(), PairAnalysisTrack::GetTrackMatch(), hits, PairAnalysisMC::Instance(), kMuch, kMvd, kNofSystems, kRef, kRich, kSts, kTof, and kTrd.
Referenced by FillHistograms().
|
private |
Definition at line 568 of file PairAnalysis.cxx.
|
private |
Definition at line 811 of file PairAnalysis.cxx.
References fgkPairClassNames, fHistoArray, fHistos, PairAnalysisVarManager::Fill(), PairAnalysisHF::FillClass(), fUsedVars, PairAnalysisVarManager::GetData(), and PairAnalysisVarManager::SetFillMap().
Referenced by FillPairArrayTR(), and PairPreFilter().
|
private |
Definition at line 543 of file PairAnalysis.cxx.
References fgkTrackClassNames, fHistos, PairAnalysisVarManager::Fill(), fUsedVars, PairAnalysisVarManager::GetData(), PairAnalysisVarManager::SetFillMap(), and tracks.
|
private |
TODO: PairAnalysisVarManager::Fill(papaMC->GetMCEvent(), values); // get event informations
loop over all detectors and fill point histograms
Definition at line 1426 of file PairAnalysis.cxx.
References fgkPairClassNames, fHistos, PairAnalysisVarManager::Fill(), PairAnalysisVarManager::FillVarMCParticle(), fSignalsMC, fUsedVars, CbmMCTrack::GetCharge(), PairAnalysisVarManager::GetCurrentEvent(), PairAnalysisVarManager::GetData(), PairAnalysisHelper::GetDetName(), PairAnalysisMC::GetMCTrackFromMCEvent(), PairAnalysisMC::GetMothersLabel(), PairAnalysisSignalMC::GetMothersRelation(), CbmMCTrack::GetNPoints(), PairAnalysisEvent::GetPoints(), PairAnalysisSignalMC::GetWeight(), PairAnalysisMC::Instance(), PairAnalysisSignalMC::IsSingleParticle(), PairAnalysisSignalMC::kDifferent, kNofSystems, kRef, PairAnalysisSignalMC::kSame, PairAnalysisVarManager::kWeight, points, PairAnalysisVarManager::SetFillMap(), and PairAnalysisVarManager::SetValue().
Referenced by ProcessMC().
|
private |
NOTE: use KF particle only for same event (SE) pair types mixed event pairs use the default LV vertexing otherwise this will crash in the refiting done in PairAnalysisPairKF track rotation is not done here!
Definition at line 1273 of file PairAnalysis.cxx.
References fCutQA, PairAnalysisCutQa::Fill(), PairAnalysisCutQa::FillAll(), fPairFilter, fPdgLeg1, fPdgLeg2, fPdgMother, fQAmonitor, fTracks, fUseKF, AnalysisFilter::GetCuts(), PairAnalysisMC::GetLabelMotherWithPdg(), GetPairIndex(), PairAnalysisMC::Instance(), AnalysisFilter::IsSelected(), kSEMM, kSEPM, PairArray(), PairAnalysisPair::SetKFUsage(), PairAnalysisPair::SetLabel(), PairAnalysisPair::SetPdgCode(), PairAnalysisPair::SetTracks(), and PairAnalysisPair::SetType().
Referenced by PairAnalysisMixingHandler::DoMixing(), and Process().
|
private |
Definition at line 1350 of file PairAnalysis.cxx.
References fHistoArray, fHistos, PairAnalysisHF::Fill(), FillHistogramsPair(), fPairFilter, fPdgLeg1, fPdgLeg2, fStoreRotatedPairs, fTrackRotator, fTracks, fUseKF, AnalysisFilter::GetCuts(), PairAnalysisTrackRotator::GetIterations(), AnalysisFilter::IsSelected(), kSEPMRot, PairArray(), PairAnalysisPair::RotateTrack(), PairAnalysisPair::SetKFUsage(), PairAnalysisPair::SetTracks(), and PairAnalysisPair::SetType().
Referenced by Process().
|
private |
mc instance
fill detailed cut histograms
check for weights of coming from mother and/or grandmother particles NOTE: by this bremsstrahlung weight are automatically propagated to the cascade product
loop over all added signals
start from mother label to next familiy generation
Definition at line 861 of file PairAnalysis.cxx.
References PairAnalysisTrack::Charge(), fCutQA, fHasMC, fHistos, PairAnalysisCutQa::Fill(), PairAnalysisVarManager::Fill(), PairAnalysisCutQa::FillAll(), FillCutStepHistograms(), fPdgLeg1, fPdgLeg2, fQAmonitor, fRefitMassAssump, fSignalsMC, fTrackFilter, fTracks, fUsedVars, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), AnalysisFilter::GetHistogramList(), PairAnalysisTrack::GetLabel(), PairAnalysisMC::GetMothersLabel(), PairAnalysisEvent::GetNumberOfTracks(), PairAnalysisEvent::GetTrack(), PairAnalysisSignalMC::GetWeight(), PairAnalysisTrack::GetWeight(), PairAnalysisMC::Instance(), PairAnalysisMC::IsMCTruth(), AnalysisFilter::IsSelected(), PairAnalysisVarManager::SetFillMap(), PairAnalysisTrack::SetMassHypo(), and PairAnalysisTrack::SetWeight().
Referenced by Process().
|
private |
fill detailed cut histograms
fill detailed cut histograms
Definition at line 1206 of file PairAnalysis.cxx.
References fCutQA, fFinalTrackFilter, PairAnalysisCutQa::Fill(), PairAnalysisVarManager::Fill(), PairAnalysisCutQa::FillAll(), FillCutStepHistograms(), fQAmonitor, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), AnalysisFilter::GetHistogramList(), and AnalysisFilter::IsSelected().
Referenced by Process().
|
inline |
Definition at line 109 of file PairAnalysis.h.
References fCutStepHistos.
Referenced by AnalysisTaskMultiPairAnalysis::Init().
|
inline |
Definition at line 73 of file PairAnalysis.h.
References fEventFilter.
|
inline |
Definition at line 66 of file PairAnalysis.h.
References fEventFilter.
|
inline |
Definition at line 78 of file PairAnalysis.h.
References fFinalTrackFilter.
|
inline |
Definition at line 146 of file PairAnalysis.h.
References fHasMC.
|
inline |
Definition at line 102 of file PairAnalysis.h.
References fHistoArray, and PairAnalysisHF::GetHistArray().
Referenced by AnalysisTaskMultiPairAnalysis::Init().
|
inline |
Definition at line 107 of file PairAnalysis.h.
References fHistos.
Referenced by AnalysisTaskMultiPairAnalysis::Init().
|
inline |
Definition at line 106 of file PairAnalysis.h.
References fHistos.
Referenced by AnalysisTaskMultiPairAnalysis::Exec().
|
inline |
Definition at line 148 of file PairAnalysis.h.
References fPdgLeg1.
|
inline |
Definition at line 149 of file PairAnalysis.h.
References fPdgLeg2.
|
inline |
Definition at line 145 of file PairAnalysis.h.
References fSignalsMC.
|
inline |
Definition at line 130 of file PairAnalysis.h.
References fMixing.
|
inline |
Definition at line 147 of file PairAnalysis.h.
References fPdgMother.
|
inline |
Definition at line 92 of file PairAnalysis.h.
Referenced by HasCandidates(), HasCandidatesLikeSign(), and HasCandidatesTR().
|
inline |
Definition at line 97 of file PairAnalysis.h.
References fPairCandidates.
Referenced by AnalysisTaskMultiPairAnalysis::Exec().
|
inline |
Definition at line 75 of file PairAnalysis.h.
References fPairFilter.
|
inline |
Definition at line 68 of file PairAnalysis.h.
References fPairFilter.
|
inline |
Definition at line 81 of file PairAnalysis.h.
References fPairFilterMC.
|
inline |
Definition at line 71 of file PairAnalysis.h.
References fPairFilterMC.
|
inlineprivate |
Definition at line 245 of file PairAnalysis.h.
References kMEMM, kMEMP, kMEPM, kMEPP, kSEMM, kSEPM, kSEPMRot, and kSEPP.
Referenced by FillPairArrays(), PairPreFilter(), and Process().
|
inline |
Definition at line 77 of file PairAnalysis.h.
References fPairPreFilter.
|
inline |
Definition at line 76 of file PairAnalysis.h.
References fPairPreFilterLegs.
|
inline |
Definition at line 103 of file PairAnalysis.h.
References fQAmonitor, and PairAnalysisCutQa::GetQAHistList().
Referenced by AnalysisTaskMultiPairAnalysis::Init().
|
inline |
Definition at line 91 of file PairAnalysis.h.
References fTracks.
Referenced by PairAnalysisMixingHandler::Fill().
|
inline |
Definition at line 74 of file PairAnalysis.h.
References fTrackFilter.
|
inline |
Definition at line 67 of file PairAnalysis.h.
References fTrackFilter.
|
inline |
Definition at line 80 of file PairAnalysis.h.
References fTrackFilterMC.
|
inline |
Definition at line 70 of file PairAnalysis.h.
References fTrackFilterMC.
|
inline |
Definition at line 126 of file PairAnalysis.h.
References fTrackRotator.
|
inline |
Definition at line 111 of file PairAnalysis.h.
References GetPairArray().
|
inline |
Definition at line 113 of file PairAnalysis.h.
References GetPairArray().
|
inline |
Definition at line 112 of file PairAnalysis.h.
References GetPairArray().
void PairAnalysis::Init | ( | ) |
Definition at line 140 of file PairAnalysis.cxx.
References AnalysisFilter::AddCuts(), PairAnalysisCutQa::AddEventFilter(), PairAnalysisCutQa::AddPairFilter(), PairAnalysisCutQa::AddPrePairFilter(), PairAnalysisCutQa::AddTrackFilter(), PairAnalysisCutQa::AddTrackFilter2(), PairAnalysisCutQa::AddTrackFilterMC(), fCutQA, fCutStepHistos, fEventFilter, fEventProcess, fFinalTrackFilter, fHistoArray, fHistos, fMixing, fNoPairing, fPairFilter, fPairPreFilter, fQAmonitor, fSignalsMC, fTrackFilter, fTrackFilterMC, AnalysisFilter::GetCuts(), AnalysisFilter::GetHistogramList(), PairAnalysisPairLegCuts::GetLeg1Filter(), PairAnalysisPairLegCuts::GetLeg2Filter(), PairAnalysisCutQa::Init(), PairAnalysisHF::Init(), PairAnalysisMixingHandler::Init(), and InitPairCandidateArrays().
Referenced by AnalysisTaskMultiPairAnalysis::Init().
|
inlineprivate |
Definition at line 261 of file PairAnalysis.h.
References fgkPairClassNames, and fPairCandidates.
|
inline |
Definition at line 86 of file PairAnalysis.h.
References fNoPairing.
|
private |
|
inlineprivate |
Definition at line 275 of file PairAnalysis.h.
References fPairCandidates.
Referenced by ClearArrays(), FillHistograms(), FillHistogramsFromPairArray(), FillPairArrays(), FillPairArrayTR(), and Process().
|
inlinestatic |
Definition at line 152 of file PairAnalysis.h.
References fgkPairClassNames.
Referenced by PairAnalysisSignalExt::FindObject().
|
private |
first test particle
second test particle
pairprefilter leg cuts TODO: cut logic exceptions for test particles mask used to require that all cuts are fulfilled
flag arrays for track removal
pair prefilter leg cuts
pair prefilter leg cuts
create the pair
check if test particles are used
pre filter pair cuts
fill cut QA TODO: cheeeck for test particle
apply cut
check for test particles
fill histos
set flags for track removal
Definition at line 966 of file PairAnalysis.cxx.
References fCutQA, fCutType, fHistos, PairAnalysisCutQa::Fill(), PairAnalysisCutQa::FillAll(), FillHistogramsPair(), fPairPreFilter, fPairPreFilterLegs, fPdgLeg1, fPdgLeg2, fPdgMother, fPreFilterAllSigns, fQAmonitor, fTracks, fUseKF, AnalysisFilter::GetCuts(), PairAnalysisTrack::GetMomentum(), GetPairIndex(), PairAnalysisMC::Instance(), AnalysisFilter::IsSelected(), kAnyLeg, kBothLegs, kOneLeg, PairAnalysisVarManager::kRndmRej, PairAnalysisPair::SetKFUsage(), PairAnalysisPair::SetLabel(), PairAnalysisTrack::SetPdgCode(), PairAnalysisPair::SetTracks(), PairAnalysisPair::SetType(), and PairAnalysisVarManager::SetValue().
Referenced by Process().
Bool_t PairAnalysis::Process | ( | PairAnalysisEvent * | ev1 | ) |
event vertex is needed!
set reference mass for mt calculation
set event
set mixing bin to event data
if candidate array doesn't exist, create it
mask used to require that all cuts are fulfilled
apply event cuts
fill track arrays for tracks that pass cuts
Definition at line 225 of file PairAnalysis.cxx.
References ClearArrays(), fCutQA, fDontClearArrays, fEventFilter, fHistoArray, fHistos, PairAnalysisCutQa::Fill(), PairAnalysisHF::Fill(), PairAnalysisMixingHandler::Fill(), PairAnalysisCutQa::FillAll(), FillHistograms(), FillPairArrays(), FillPairArrayTR(), FillTrackArrays(), FilterTrackArrays(), PairAnalysisMixingHandler::FindBin(), fMixing, fNoPairing, fPairCandidates, fPairPreFilter, fPdgMother, fPreFilterAllSigns, fPreFilterUnlikeOnly, fProcessLS, fQAmonitor, fTrackRotator, fTracks, fUsedVars, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), GetPairIndex(), PairAnalysisEvent::GetPrimaryVertex(), InitPairCandidateArrays(), PairAnalysisMC::Instance(), AnalysisFilter::IsSelected(), PairAnalysisVarManager::kMixingBin, PairAnalysisVarManager::kMPair, PairAnalysisVarManager::kPairs, kSEPM, PairAnalysisVarManager::kTracks, PairArray(), PairPreFilter(), ProcessMC(), PairAnalysisVarManager::SetEvent(), PairAnalysisVarManager::SetFillMap(), and PairAnalysisVarManager::SetValue().
void PairAnalysis::Process | ( | TObjArray * | arr | ) |
NOTE: never clear arrays !!!!
Definition at line 206 of file PairAnalysis.cxx.
References fHistos, FillHistograms(), and fPairCandidates.
Referenced by AnalysisTaskMultiPairAnalysis::Exec().
|
private |
fill detailed cut histograms
NOTE: single particle signals staisfy only the first branch, truth2=kFALSE in this case
do the pairing and fill the output with pure MC info selection of MCtruth pairs NOTE: for MCtruth LV useage should be okay, no need to calculate KF particles
loop over second branch NOTE: start from index i1 not 0, to avoid large combinatorics this is valid because particles with same mother follow each other, in other words they are not distributed over the stack, but the stack is sorted
check and get same mother MCtrack
TODO: do we really want to look at combinatorics at the genrator level? this might saves a lot of cpu time and combinatorics on MCtruth level is useless NOTE: at the moment this is avoided by the 'break' after FillMCHistograms below continue;
check and get same mother MCtrack
NOTE: at the moment this is avoided by the 'break' after FillMCHistograms (see above NOTE)
Definition at line 319 of file PairAnalysis.cxx.
References fCutQA, fgkPairClassNames, fHistoArray, fHistos, PairAnalysisCutQa::Fill(), PairAnalysisHF::Fill(), PairAnalysisVarManager::Fill(), PairAnalysisCutQa::FillAll(), FillCutStepHistogramsMC(), FillMCHistograms(), fPairFilterMC, fQAmonitor, fSignalsMC, fTrackFilterMC, AnalysisFilter::GetCuts(), PairAnalysisVarManager::GetData(), PairAnalysisSignalMC::GetFillPureMCStep(), AnalysisFilter::GetHistogramList(), PairAnalysisMC::GetMCTrackFromMCEvent(), CbmMCTrack::GetMotherId(), PairAnalysisMC::GetNMCTracks(), PairAnalysisMC::Instance(), PairAnalysisMC::IsMCTruth(), and AnalysisFilter::IsSelected().
Referenced by Process().
|
inline |
Definition at line 84 of file PairAnalysis.h.
References fCutQA.
|
inline |
Definition at line 132 of file PairAnalysis.h.
References fDontClearArrays.
|
inline |
Definition at line 155 of file PairAnalysis.h.
References fEventProcess.
|
inline |
Definition at line 136 of file PairAnalysis.h.
References fHasMC.
|
inline |
Definition at line 101 of file PairAnalysis.h.
References fHistoArray.
|
inline |
Definition at line 105 of file PairAnalysis.h.
References fHistos.
|
inline |
Definition at line 139 of file PairAnalysis.h.
|
inline |
Definition at line 129 of file PairAnalysis.h.
References fMixing.
|
inline |
Definition at line 138 of file PairAnalysis.h.
References fPdgMother.
|
inline |
Definition at line 85 of file PairAnalysis.h.
References fNoPairing.
|
inline |
Definition at line 98 of file PairAnalysis.h.
References fPairCandidates.
|
inline |
Definition at line 83 of file PairAnalysis.h.
References fCutType.
|
inline |
Definition at line 122 of file PairAnalysis.h.
References fPreFilterAllSigns.
|
inline |
Definition at line 121 of file PairAnalysis.h.
References fPreFilterUnlikeOnly.
|
inline |
Definition at line 87 of file PairAnalysis.h.
References fProcessLS.
|
inline |
Definition at line 144 of file PairAnalysis.h.
References fRefitMassAssump.
|
inline |
Definition at line 127 of file PairAnalysis.h.
References fStoreRotatedPairs.
|
inline |
Definition at line 125 of file PairAnalysis.h.
References fTrackRotator.
|
inline |
Definition at line 89 of file PairAnalysis.h.
References fUseKF.
|
inlinestatic |
Definition at line 151 of file PairAnalysis.h.
References fgkTrackClassNames.
|
friend |
Definition at line 28 of file PairAnalysis.h.
|
private |
Definition at line 159 of file PairAnalysis.h.
Referenced by FillHistogramsFromPairArray(), FillPairArrays(), FillTrackArrays(), FilterTrackArrays(), Init(), PairPreFilter(), Process(), ProcessMC(), and SetCutQA().
|
private |
Definition at line 184 of file PairAnalysis.h.
Referenced by GetCutStepHistogramList(), Init(), and ~PairAnalysis().
|
private |
Definition at line 179 of file PairAnalysis.h.
Referenced by PairPreFilter(), and SetPairPreFilterLegCutType().
|
private |
Definition at line 207 of file PairAnalysis.h.
Referenced by DontClearArrays(), Process(), and SetDontClearArrays().
|
private |
Definition at line 162 of file PairAnalysis.h.
Referenced by GetEventFilter(), GetEventFilter(), Init(), and Process().
|
private |
Definition at line 209 of file PairAnalysis.h.
Referenced by DoEventProcess(), FillHistograms(), Init(), SetEventProcess(), and ~PairAnalysis().
|
private |
Definition at line 166 of file PairAnalysis.h.
Referenced by FilterTrackArrays(), GetFinalTrackFilter(), and Init().
|
staticprivate |
Definition at line 94 of file PairAnalysis.h.
Referenced by FillCutStepHistograms(), FillCutStepHistogramsMC(), FillHistograms(), FillHistogramsFromPairArray(), FillHistogramsPair(), FillMCHistograms(), InitPairCandidateArrays(), PairClassName(), and ProcessMC().
|
staticprivate |
Definition at line 224 of file PairAnalysis.h.
Referenced by FillCutStepHistograms(), FillHistograms(), FillHistogramsTracks(), and TrackClassName().
|
private |
Definition at line 205 of file PairAnalysis.h.
Referenced by FillCutStepHistograms(), FillCutStepHistogramsMC(), FillTrackArrays(), GetHasMC(), and SetHasMC().
|
private |
Definition at line 185 of file PairAnalysis.h.
Referenced by FillHistograms(), FillHistogramsFromPairArray(), FillHistogramsHits(), FillHistogramsPair(), FillPairArrayTR(), GetHistogramArray(), Init(), Process(), ProcessMC(), SetHistogramArray(), and ~PairAnalysis().
|
private |
Definition at line 186 of file PairAnalysis.h.
Referenced by FillHistograms(), FillHistogramsFromPairArray(), FillHistogramsHits(), FillHistogramsPair(), FillHistogramsTracks(), FillMCHistograms(), FillPairArrayTR(), FillTrackArrays(), GetHistogramList(), GetHistoManager(), Init(), PairPreFilter(), Process(), Process(), ProcessMC(), SetHistogramManager(), and ~PairAnalysis().
|
staticconstexpr |
Definition at line 49 of file PairAnalysis.h.
Referenced by FillCutStepHistograms(), and FillHistograms().
|
private |
Definition at line 201 of file PairAnalysis.h.
Referenced by GetMixingHandler(), Init(), Process(), SetMixingHandler(), and ~PairAnalysis().
|
private |
Definition at line 180 of file PairAnalysis.h.
Referenced by Init(), IsNoPairing(), Process(), and SetNoPairing().
|
staticconstexpr |
Definition at line 42 of file PairAnalysis.h.
Referenced by FillHistograms(), and FillHistogramsFromPairArray().
|
private |
Selected track candidates.
Definition at line 197 of file PairAnalysis.h.
Referenced by GetPairArraysPointer(), InitPairCandidateArrays(), PairArray(), Process(), Process(), SetPairArraysPointer(), and ~PairAnalysis().
|
private |
Definition at line 167 of file PairAnalysis.h.
Referenced by FillHistograms(), FillHistogramsFromPairArray(), FillPairArrays(), FillPairArrayTR(), GetPairFilter(), GetPairFilter(), and Init().
|
private |
Definition at line 170 of file PairAnalysis.h.
Referenced by GetPairFilterMC(), GetPairFilterMC(), and ProcessMC().
|
private |
Definition at line 165 of file PairAnalysis.h.
Referenced by GetPairPreFilter(), Init(), PairPreFilter(), and Process().
|
private |
Definition at line 164 of file PairAnalysis.h.
Referenced by GetPairPreFilterLegs(), and PairPreFilter().
|
private |
Definition at line 173 of file PairAnalysis.h.
Referenced by FillPairArrays(), FillPairArrayTR(), FillTrackArrays(), GetLeg1Pdg(), PairPreFilter(), and SetLegPdg().
|
private |
Definition at line 174 of file PairAnalysis.h.
Referenced by FillPairArrays(), FillPairArrayTR(), FillTrackArrays(), GetLeg2Pdg(), PairPreFilter(), and SetLegPdg().
|
private |
Definition at line 172 of file PairAnalysis.h.
Referenced by FillPairArrays(), GetMotherPdg(), PairPreFilter(), Process(), and SetMotherPdg().
|
private |
Definition at line 204 of file PairAnalysis.h.
Referenced by PairPreFilter(), Process(), and SetPreFilterAllSigns().
|
private |
Definition at line 203 of file PairAnalysis.h.
Referenced by Process(), and SetPreFilterUnlikeOnly().
|
private |
Definition at line 181 of file PairAnalysis.h.
Referenced by DoProcessLS(), Process(), and SetProcessLS().
|
private |
Definition at line 160 of file PairAnalysis.h.
Referenced by FillHistogramsFromPairArray(), FillPairArrays(), FillTrackArrays(), FilterTrackArrays(), GetQAHistList(), Init(), PairPreFilter(), Process(), ProcessMC(), and ~PairAnalysis().
|
private |
Definition at line 175 of file PairAnalysis.h.
Referenced by FillTrackArrays(), and SetRefitWithMassAssump().
|
private |
Definition at line 177 of file PairAnalysis.h.
Referenced by AddSignalMC(), FillCutStepHistograms(), FillCutStepHistogramsMC(), FillHistograms(), FillHistogramsHits(), FillMCHistograms(), FillTrackArrays(), GetMCSignals(), Init(), ProcessMC(), and ~PairAnalysis().
|
private |
Definition at line 206 of file PairAnalysis.h.
Referenced by FillPairArrayTR(), and SetStoreRotatedPairs().
|
private |
Definition at line 163 of file PairAnalysis.h.
Referenced by FillTrackArrays(), GetTrackFilter(), GetTrackFilter(), and Init().
|
private |
Definition at line 169 of file PairAnalysis.h.
Referenced by GetTrackFilterMC(), GetTrackFilterMC(), Init(), and ProcessMC().
|
private |
Pair candidate arrays.
Definition at line 200 of file PairAnalysis.h.
Referenced by FillPairArrayTR(), GetTrackRotator(), Process(), and SetTrackRotator().
|
private |
Definition at line 191 of file PairAnalysis.h.
Referenced by ClearArrays(), PairAnalysisMixingHandler::DoMixing(), FillHistograms(), FillPairArrays(), FillPairArrayTR(), FillTrackArrays(), GetTrackArray(), PairPreFilter(), and Process().
|
private |
Definition at line 189 of file PairAnalysis.h.
Referenced by FillHistograms(), FillHistogramsFromPairArray(), FillHistogramsPair(), FillHistogramsTracks(), FillMCHistograms(), FillTrackArrays(), Process(), and ~PairAnalysis().
|
private |
Definition at line 182 of file PairAnalysis.h.
Referenced by FillPairArrays(), FillPairArrayTR(), PairPreFilter(), and SetUseKF().