HighLAND
SIProtonSystematics.hxx
1 #ifndef SIProtonSystematics_h
2 #define SIProtonSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 #include "ProtonInteractionSystematic.hxx"
7 
9  public:
10 
12 
13  virtual ~SIProtonSystematics();
14 
15  /// Apply the systematic
16  Weight_h ComputeWeight(const ToyExperiment& , const AnaEventC& , const ToyBoxB&){return 1;}
17  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box, const SelectionBase& sel);
18 
19  /// Create the array of ProtonInteractionSystematic
20  void Initialize(Int_t nsel, Int_t isel, Int_t nbranch, Int_t nevents);
21 
22  /// Delete the ProtonInteractionSystematic for this event
23  void FinalizeEvent(const AnaEventC& event);
24 
25 protected:
26 
27  /// Fill the SystBox for this event, selection and branch
28  void FillSystBox(const AnaEventC& event, const SelectionBase& sel, Int_t ibranch);
29 
30 protected:
31 
32  ///Scale factor for cross-section
33  Float_t _xsecScale;
34 
35  ///Uncertainty for cross-section
36  Float_t _xsecError;
37 
38  Int_t _nevents;
39 
40  /// Manager to collect proton interactions
42 
43  si_syst::SISystInput** _ProtonInteractionsInfo;
44 
45 };
46 
47 #endif
void FillSystBox(const AnaEventC &event, const SelectionBase &sel, Int_t ibranch)
Fill the SystBox for this event, selection and branch.
void FinalizeEvent(const AnaEventC &event)
Delete the ProtonInteractionSystematic for this event.
void Initialize(Int_t nsel, Int_t isel, Int_t nbranch, Int_t nevents)
Create the array of ProtonInteractionSystematic.
Float_t _xsecError
Uncertainty for cross-section.
proton_si::ProtonSIManager _pInfoManager
Manager to collect proton interactions.
A simple class to provide the data for the systematic itself: a collection of particles with the rele...
Float_t _xsecScale
Scale factor for cross-section.
Weight_h ComputeWeight(const ToyExperiment &, const AnaEventC &, const ToyBoxB &)
Apply the systematic.