1 #include "EventWeightBase.hxx" 2 #include "MultiThread.hxx" 12 uniqueID =
event.UniqueID;
22 if(
_systBoxes[isel][ibranch][uniqueID])
return;
38 uniqueID =
event.UniqueID;
52 anaUtils::CreateArray(groups,10);
54 anaUtils::ResizeArray(groups,nGroups);
58 Int_t nMaxRecObjects=0;
59 for (Int_t g = 0; g<nGroups;g++)
63 if (box.RelevantRecObjects)
delete [] box.RelevantRecObjects;
64 anaUtils::CreateArray(box.RelevantRecObjects, nMaxRecObjects);
68 for (Int_t g = 0; g<nGroups;g++){
70 AnaRecObjectC* recObject = EventBox->RecObjectsInGroup[groups[g]][i];
85 if (groups)
delete [] groups;
88 anaUtils::CreateArray(groups,10);
90 anaUtils::ResizeArray(groups,nTrueGroups);
95 Int_t nMaxRecObjects=0;
96 for (Int_t g = 0; g<nTrueGroups;g++)
100 if (box.RelevantRecObjects)
delete [] box.RelevantTrueObjects;
101 anaUtils::CreateArray(box.RelevantTrueObjects, nMaxRecObjects);
105 for (Int_t g = 0; g<nTrueGroups;g++){
107 AnaTrueObjectC* trueRecObject = EventBox->TrueObjectsInGroup[groups[g]][i];
122 if (groups)
delete [] groups;
Int_t _index
The index of this systematic (needed by SystematicsManager);.
virtual void InitializeEvent(const AnaEventC &event, const SelectionBase &sel, Int_t ibranch)
Initialize the SystBox for this event.
virtual Int_t GetRelevantRecObjectGroups(const SelectionBase &, Int_t ibranch, Int_t *IDs) const
Get the IDs of the RecObject groups that are relevant for this systematic in a given selection...
EventBoxId_h GetEventBoxId() const
Returns the Id of the EventBox to be used in this selection.
virtual bool CheckTrueRecoAssociation(const AnaTrueObjectC &trueRecObject, const AnaRecObjectC &track) const
Criteria for true-reco association for this systematic.
AnaTrueObjectC * TrueObject
The link to the true oject that most likely generated this reconstructed object.
virtual Int_t GetRelevantTrueObjectGroups(const SelectionBase &, Int_t ibranch, Int_t *IDs) const
Get the IDs of the TrueObject groups that are relevant for this systematic in a given selection...
Int_t ID
The ID of the trueObj, which corresponds to the ID of the TTruthParticle that created it...
Int_t nRecObjectsInGroup[NMAXRECOBJECTGROUPS]
----—— RecObjects and TrueRecObjects used in the selection and systematics ------------—— ...
virtual void FillSystBox(const AnaEventC &event, const SelectionBase &sel, Int_t ibranch)
Fills the SystBox.
void FillTrueRecoAssociation(SystBoxB &box)
Fll the true-reco association array.
Int_t nRelevantTrueObjects
Array of Relevant True RecObjects for each systematic.
AnaRecObjectC ** RelevantTrueObjectsReco
virtual bool IsRelevantRecObjectForSystematic(const AnaEventC &, AnaRecObjectC *, SystId_h syst_index, Int_t branch=0) const
Is this track relevant for a given systematic (prior to selection, call when initializing the event...
virtual bool IsRelevantRecObject(const AnaEventC &, const AnaRecObjectC &) const
Check whether a AnaRecObject is relevant for this systematic or not.
virtual bool IsRelevantTrueObjectForSystematic(const AnaEventC &, AnaTrueObjectC *, SystId_h syst_index, Int_t branch=0) const
Is this true track relevant for a given systematic (prior to selection, call when initializing the ev...
Int_t nTrueObjectsInGroup[NMAXTRUEOBJECTGROUPS]
Different groups of rec objects used for systematics.
Int_t nRelevantRecObjects
----—— Relevant rec objects and true objects for each systematic ------------—— ...
SystBoxB **** _systBoxes
----—— Relevant objects for this systematic ------------——
Int_t GetEnabledIndex() const
Get the Selection index.
virtual bool IsRelevantTrueObject(const AnaEventC &, const AnaTrueObjectC &) const
Check whether a AnaTrueObject is relevant for this systematic or not.