13 addStdHist<OffEle,float>(histVec,baseName+
"_et",baseName+
" E_{T};E_{T} (GeV)",bins.
et,&
OffEle::et);
14 addStdHist<OffEle,float>(histVec,baseName+
"_etHigh",baseName+
" E_{T};E_{T} (GeV)",bins.
etHigh,&
OffEle::et);
15 addStdHist<OffEle,float>(histVec,baseName+
"_etSC",baseName+
" E^{SC}_{T};E^{SC}_{T} (GeV)",bins.
et,&
OffEle::etSC);
16 addStdHist<OffEle,float>(histVec,baseName+
"_eta",baseName+
" #eta;#eta",bins.
eta,&
OffEle::detEta);
17 addStdHist<OffEle,float>(histVec,baseName+
"_phi",baseName+
" #phi;#phi (rad)",bins.
phi,&
OffEle::phi);
20 addStdHist<OffEle,float>(histVec,baseName+
"_hOverE",baseName+
" H/E; H/E",bins.
hOverE,&
OffEle::hOverE);
22 addStdHist<OffEle,float>(histVec,baseName+
"_maxr9",baseName+
" MAXR9 ; MAXR9",bins.
maxr9,&
OffEle::r9);
24 addStdHist<OffEle,float>(histVec,baseName+
"_dPhiIn",baseName+
" #Delta #phi_{in}; #Delta #phi_{in}",bins.
dPhiIn,&
OffEle::dPhiIn);
25 addStdHist<OffEle,float>(histVec,baseName+
"_dEtaIn",baseName+
" #Delta #eta_{in}; #Delta #eta_{in}",bins.
dEtaIn,&
OffEle::dEtaIn);
26 addStdHist<OffEle,float>(histVec,baseName+
"_sigmaIEtaIEta",baseName+
"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.
sigEtaEta,&
OffEle::sigmaIEtaIEta);
27 addStdHist<OffEle,float>(histVec,baseName+
"_epIn",baseName+
"E/p_{in}; E/p_{in}",bins.
eOverP,&
OffEle::epIn);
28 addStdHist<OffEle,float>(histVec,baseName+
"_epOut",baseName+
"E/p_{out}; E/p_{out}",bins.
eOverP,&
OffEle::epOut);
29 addStdHist<OffEle,float>(histVec,baseName+
"_invEInvP",baseName+
"1/E -1/p; 1/E - 1/p",bins.
invEInvP,&
OffEle::invEInvP);
31 addStdHist<OffEle,float>(histVec,baseName+
"_e2x5Over5x5",baseName+
"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.
e2x5,&
OffEle::e2x5MaxOver5x5);
32 addStdHist<OffEle,float>(histVec,baseName+
"_e1x5Over5x5",baseName+
"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.
e1x5,&
OffEle::e1x5Over5x5);
36 addStdHist<OffEle,float>(histVec,baseName+
"_hltIsolTrksEle",baseName+
"HLT Ele Isol Trks; HLT Ele Iso Tracks (GeV/c)",bins.
isolPtTrks,&
OffEle::hltIsolTrksEle);
38 addStdHist<OffEle,float>(histVec,baseName+
"_hltIsolHad",baseName+
"HLT Isol Had; HLT Isol Had (GeV)",bins.
isolHad,&
OffEle::hltIsolHad);
39 addStdHist<OffEle,float>(histVec,baseName+
"_hltIsolEm",baseName+
"HLT Isol Em; HLT Isol Em (GeV)",bins.
isolEm,&
OffEle::hltIsolEm);
42 baseName+
" #eta vs #phi;#eta;#phi (rad)",
51 addStdHist<OffPho,float>(histVec,baseName+
"_et",baseName+
" E_{T};E_{T} (GeV)",bins.
et,&
OffPho::et);
52 addStdHist<OffPho,float>(histVec,baseName+
"_etHigh",baseName+
" E_{T};E_{T} (GeV)",bins.
etHigh,&
OffPho::et);
53 addStdHist<OffPho,float>(histVec,baseName+
"_etSC",baseName+
" E^{SC}_{T};E^{SC}_{T} (GeV)",bins.
et,&
OffPho::etSC);
54 addStdHist<OffPho,float>(histVec,baseName+
"_eta",baseName+
" #eta;#eta",bins.
eta,&
OffPho::detEta);
55 addStdHist<OffPho,float>(histVec,baseName+
"_phi",baseName+
" #phi;#phi (rad)",bins.
phi,&
OffPho::phi);
57 addStdHist<OffPho,float>(histVec,baseName+
"_hOverE",baseName+
" H/E; H/E",bins.
hOverE,&
OffPho::hOverE);
61 addStdHist<OffPho,float>(histVec,baseName+
"_maxr9",baseName+
" MAXR9 ; MAXR9",bins.
maxr9,&
OffPho::r9);
63 addStdHist<OffPho,float>(histVec,baseName+
"_sigmaIEtaIEta",baseName+
"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.
sigEtaEta,&
OffPho::sigmaIEtaIEta);
64 addStdHist<OffPho,float>(histVec,baseName+
"_e2x5Over5x5",baseName+
"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.
e2x5,&
OffPho::e2x5MaxOver5x5);
65 addStdHist<OffPho,float>(histVec,baseName+
"_e1x5Over5x5",baseName+
"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.
e1x5,&
OffPho::e1x5Over5x5);
66 addStdHist<OffPho,float>(histVec,baseName+
"_isolEM",baseName+
"Isol EM; Isol EM (GeV)",bins.
isolEm,&
OffPho::isolEm);
67 addStdHist<OffPho,float>(histVec,baseName+
"_isolHad",baseName+
"Isol Had; Isol Had (GeV)",bins.
isolHad,&
OffPho::isolHad);
68 addStdHist<OffPho,float>(histVec,baseName+
"_isolPtTrks",baseName+
"Isol Pt Trks; Isol Pt Tracks (GeV/c)",bins.
isolPtTrks,&
OffPho::isolPtTrks);
74 baseName+
" #eta vs #phi;#eta;#phi (rad)",
95 int stdCutCode = masks.
stdEle;
98 histVec.push_back(
new MonElemFloat(baseName+
"_noCuts",baseName+
" NoCuts",nrBins,xMin,xMax,vsVarFunc));
99 histVec.push_back(
new MonElemFloat(baseName+
"_allCuts",baseName+
" All Cuts",nrBins,xMin,xMax,vsVarFunc,
103 histVec.push_back(
new MonElemFloat(baseName+
"_n1_dEtaIn",baseName+
" N1 #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc,
105 histVec.push_back(
new MonElemFloat(baseName+
"_n1_dPhiIn",baseName+
" N1 #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc,
107 histVec.push_back(
new MonElemFloat(baseName+
"_n1_sigmaIEtaIEta",baseName+
" N1 #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc,
109 histVec.push_back(
new MonElemFloat(baseName+
"_n1_hOverE",baseName+
" N1 H/E",nrBins,xMin,xMax,vsVarFunc,
117 histVec.push_back(
new MonElemFloat(baseName+
"_n1_hltIsolEm",baseName+
" N1 HLT Isol Em",nrBins,xMin,xMax,vsVarFunc,
119 histVec.push_back(
new MonElemFloat(baseName+
"_n1_hltIsolHad",baseName+
" N1 HLT Isol Had",nrBins,xMin,xMax,vsVarFunc,
121 histVec.push_back(
new MonElemFloat(baseName+
"_n1_hltIsolTrksEle",baseName+
" N1 HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc,
123 histVec.push_back(
new MonElemFloat(baseName+
"_single_dEtaIn",baseName+
" Single #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc,
125 histVec.push_back(
new MonElemFloat(baseName+
"_single_dPhiIn",baseName+
" Single #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc,
127 histVec.push_back(
new MonElemFloat(baseName+
"_single_sigmaIEtaIEta",baseName+
" Single #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc,
129 histVec.push_back(
new MonElemFloat(baseName+
"_single_hOverE",baseName+
" Single H/E",nrBins,xMin,xMax,vsVarFunc,
137 histVec.push_back(
new MonElemFloat(baseName+
"_single_hltIsolEm",baseName+
" Single HLT Isol Em",nrBins,xMin,xMax,vsVarFunc,
139 histVec.push_back(
new MonElemFloat(baseName+
"_single_hltIsolHad",baseName+
" Single HLT Isol Had",nrBins,xMin,xMax,vsVarFunc,
141 histVec.push_back(
new MonElemFloat(baseName+
"_single_hltIsolTrksEle",baseName+
" Single HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc,
153 int stdCutCode = masks.
stdPho;
155 histVec.push_back(
new MonElemFloat(baseName+
"_noCuts",baseName+
" NoCuts",nrBins,xMin,xMax,vsVarFunc));
156 histVec.push_back(
new MonElemFloat(baseName+
"_allCuts",baseName+
" All Cuts",nrBins,xMin,xMax,vsVarFunc,
160 histVec.push_back(
new MonElemFloat(baseName+
"_n1_sigmaIEtaIEta",baseName+
" N1 #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc,
163 histVec.push_back(
new MonElemFloat(baseName+
"_n1_hOverE",baseName+
" N1 H/E",nrBins,xMin,xMax,vsVarFunc,
170 histVec.push_back(
new MonElemFloat(baseName+
"_n1_isolEm",baseName+
" N1 Isol Em",nrBins,xMin,xMax,vsVarFunc,
172 histVec.push_back(
new MonElemFloat(baseName+
"_n1_isolHad",baseName+
" N1 Isol Had",nrBins,xMin,xMax,vsVarFunc,
174 histVec.push_back(
new MonElemFloat(baseName+
"_n1_isolPtTrks",baseName+
" N1 Pt Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
176 histVec.push_back(
new MonElemFloat(baseName+
"_n1_isolNrTrks",baseName+
" N1 Nr Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
179 histVec.push_back(
new MonElemFloat(baseName+
"_single_hOverE",baseName+
" Single H/E",nrBins,xMin,xMax,vsVarFunc,
181 histVec.push_back(
new MonElemFloat(baseName+
"_single_sigmaIEtaIEta",baseName+
" Single #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc,
183 histVec.push_back(
new MonElemFloat(baseName+
"_single_isolEm",baseName+
" Single Isol Em",nrBins,xMin,xMax,vsVarFunc,
185 histVec.push_back(
new MonElemFloat(baseName+
"_single_isolHad",baseName+
" Single Isol Had",nrBins,xMin,xMax,vsVarFunc,
187 histVec.push_back(
new MonElemFloat(baseName+
"_single_isolPtTrks",baseName+
" Single Pt Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
203 baseName+
" E_{T};E_{T} (GeV)",
206 baseName+
" #eta;#eta",
210 baseName+
" #phi;#phi (rad)",
214 baseName+
" nVertex;nVertex",
227 baseName+
" E_{T};E_{T} (GeV)",
230 baseName+
" #eta;#eta",
234 baseName+
" #phi;#phi (rad)",
246 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
248 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
249 if(splitString.size()!=2)
continue;
250 const std::string& tightTrig = splitString[0];
251 const std::string& looseTrig = splitString[1];
263 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
265 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
266 if(splitString.size()!=2)
continue;
267 const std::string& tightTrig = splitString[0];
268 const std::string& looseTrig = splitString[1];
283 const std::string& tightTrig,
const std::string& looseTrig,
285 const std::string& histId,
const BinData& bins)
302 eleMonElems.push_back(passMonElem);
303 eleMonElems.push_back(failMonElem);
309 const std::string& tightTrig,
const std::string& looseTrig,
311 const std::string& histId,
const BinData& bins)
328 phoMonElems.push_back(passMonElem);
329 phoMonElems.push_back(failMonElem);
337 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
339 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
340 if(splitString.size()!=2)
continue;
341 const std::string& tightTrig = splitString[0];
342 const std::string& looseTrig = splitString[1];
351 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
353 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
354 if(splitString.size()!=2)
continue;
355 const std::string& tightTrig = splitString[0];
356 const std::string& looseTrig = splitString[1];
366 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
368 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
369 if(splitString.size()!=2)
continue;
370 const std::string& tightTrig = splitString[0];
371 const std::string& looseTrig = splitString[1];
381 for(
size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
383 boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(
":")));
384 if(splitString.size()!=2)
continue;
385 const std::string& tightTrig = splitString[0];
386 const std::string& looseTrig = splitString[1];
399 for(
size_t filterNr=0;filterNr<filterNames.size();filterNr++){
401 std::string trigName(filterNames[filterNr]);
403 float etCutValue = 0.;
421 eleMonElems.push_back(monElemCont);
429 std::string trigName(filterName);
431 float etCutValue = 0.;
449 eleMonElems.push_back(monElemCont);
456 std::string trigNameLeg1 = filterName.substr(0,filterName.find(
"::"));
457 std::string trigNameLeg2 = filterName.substr(filterName.find(
"::")+2);
459 float etCutValue = 0.;
474 for(
size_t filterNr=0;filterNr<filterNames.size();filterNr++){
476 std::string trigName(filterNames[filterNr]);
478 float etCutValue = 0.;
496 phoMonElems.push_back(monElemCont);
503 std::string trigName(filterName);
505 float etCutValue = 0.;
523 phoMonElems.push_back(monElemCont);
float e1x5Over5x5() const
float e2x5MaxOver5x5() const
static TrigBitSet getCode(const std::string &descript)
const std::string & name() const
void initTightLooseTrigHists(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins, EgHLTDQMCut< OffEle > *eleCut)
void initStdEleCutHists(std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &filterName, const std::string &baseName, const BinData &bins, EgHLTDQMCut< OffEle > *cut=NULL)
void initTightLooseDiObjTrigHistsTrigCuts(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
int trigCutsCutCode(const TrigCodes::TrigBitSet &trigger) const
void initStdEleHists(std::vector< MonElemManagerBase< OffEle > * > &histVec, const std::string &filterName, const std::string &baseName, const BinData &bins)
std::vector< std::string > splitString(const std::string &fLine)
void initStdEffHists(std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &filterName, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffEle::*vsVarFunc)() const, const CutMasks &masks)
void initStdPhoCutHists(std::vector< MonElemWithCutBase< OffPho > * > &histVec, const std::string &filterName, const std::string &baseName, const BinData &bins, EgHLTDQMCut< OffPho > *cut=NULL)
void initTrigTagProbeHists(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > filterNames, int cutMask, const BinData &bins)
float sigmaIEtaIEta() const
virtual EgHLTDQMCut< T > * clone() const =0
float e2x5MaxOver5x5() const
void initTrigTagProbeHist_2Leg(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string filterName, int cutMask, const BinData &bins)
float sigmaIEtaIEta() const
float hltIsolTrksEle() const
int trigCutsCutCode(const TrigCodes::TrigBitSet &trigger) const
std::vector< MonElemManagerBase< T > * > & monElems()
void addTightLooseTrigHist(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string &tightTrig, const std::string &looseTrig, EgHLTDQMCut< OffEle > *eleCut, const std::string &histId, const BinData &bins)
float e1x5Over5x5() const
void initTrigTagProbeHist(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string filterName, int cutMask, const BinData &bins)
void initStdPhoHists(std::vector< MonElemManagerBase< OffPho > * > &histVec, const std::string &filterName, const std::string &baseName, const BinData &bins)
void initTightLooseTrigHistsTrigCuts(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
std::vector< MonElemWithCutBase< T > * > & cutMonElems()
static const uint32_t masks[]