1 #ifndef _TIMBER_PREFIRE_WEIGHT 2 #define _TIMBER_PREFIRE_WEIGHT 5 #include <ROOT/RVec.hxx> 17 std::string _jetmapname, _photonmapname;
18 TFile *_jetroot, *_photonroot;
19 TH2F *_jetmap, *_photonmap;
20 std::pair<float,float> _jetPtRange, _jetEtaRange, _photonPtRange, _photonEtaRange;
21 std::vector<std::pair<int, std::string>> _variations = {{0,
"PrefireWeight"},{1,
"PrefireWeight_Up"},{-1,
"PrefireWeight_Down"}};
24 float EGvalue(
int jetidx, RVec<float> Photon_pt, RVec<float> Photon_eta, RVec<int> Photon_jetIdx, RVec<int> Photon_electronIdx,
25 RVec<float> Electron_pt, RVec<float> Electron_eta, RVec<int> Electron_jetIdx, RVec<int> Electron_photonIdx);
27 float GetPrefireProbability(TH2F* map,
float eta,
float pt,
float maxpt);
28 bool PhotonInRange(
float pt,
float eta);
29 bool JetInRange(
float pt,
float eta);
30 bool ObjInRange(
float pt,
float eta, std::pair<float,float> ptRange, std::pair<float,float> etaRange);
56 ROOT::VecOps::RVec<float>
eval(RVec<float> Jet_pt, RVec<float> Jet_eta,
57 RVec<float> Photon_pt, RVec<float> Photon_eta, RVec<int> Photon_jetIdx, RVec<int> Photon_electronIdx,
58 RVec<float> Electron_pt, RVec<float> Electron_eta, RVec<int> Electron_jetIdx, RVec<int> Electron_photonIdx);
C++ class to handle the trigger prefire weighting. Based off of the equivalent NanoAOD-tools module...
Definition: Prefire_weight.h:15
Prefire_weight(int year, bool UseEMpt=false)
Construct a new Prefire_weight object.
Definition: Prefire_weight.cc:3
ROOT::VecOps::RVec< float > eval(RVec< float > Jet_pt, RVec< float > Jet_eta, RVec< float > Photon_pt, RVec< float > Photon_eta, RVec< int > Photon_jetIdx, RVec< int > Photon_electronIdx, RVec< float > Electron_pt, RVec< float > Electron_eta, RVec< int > Electron_jetIdx, RVec< int > Electron_photonIdx)
Calculate the value of the weight.
Definition: Prefire_weight.cc:91