1 #ifndef EventWeightBase_h 2 #define EventWeightBase_h 4 #include "SystematicBase.hxx" 5 #include "ToyExperiment.hxx" 6 #include "WeightType.hxx" 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...
virtual ~EventWeightBase()
Everyone should have a destructor.
virtual bool CheckTrueRecoAssociation(const AnaTrueObjectC &trueRecObject, const AnaRecObjectC &track) const
Criteria for true-reco association for this systematic.
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...
virtual void FillSystBox(const AnaEventC &event, const SelectionBase &sel, Int_t ibranch)
Fills the SystBox.
TypeEnum _type
The type of this systematic (variation, weight or flux)
void FillTrueRecoAssociation(SystBoxB &box)
Fll the true-reco association array.
virtual Weight_h ComputeWeight(const ToyExperiment &toy, const AnaEventC &event, const ToyBoxB &box, const SelectionBase &sel)
This is now the actual method called by SystematicManager, which allows further selection tunning of ...
virtual bool IsRelevantRecObject(const AnaEventC &, const AnaRecObjectC &) const
Check whether a AnaRecObject is relevant for this systematic or not.
EventWeightBase()
Create the systematic, with one parameter.
EventWeightBase(UInt_t npar)
Create the systematic, specifying the number of systematic parameters.
virtual bool IsRelevantTrueObject(const AnaEventC &, const AnaTrueObjectC &) const
Check whether a AnaTrueObject is relevant for this systematic or not.