CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
egHLT::MonElemFuncs Namespace Reference

Functions

template<class T , typename varType >
void addStdHist (std::vector< MonElemManagerBase< T > * > &histVec, const std::string &name, const std::string &title, const BinData::Data1D &binData, varType(T::*varFunc)() const)
 
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)
 
void addTightLooseTrigHist (std::vector< MonElemContainer< OffPho > * > &phoMonElems, const std::string &tightTrig, const std::string &looseTrig, EgHLTDQMCut< OffPho > *phoCut, const std::string &histId, const BinData &bins)
 
template<class T >
void addTightLooseTrigHist (std::vector< MonElemContainer< T > * > &monElems, const std::string &tightTrig, const std::string &looseTrig, const std::string &histId, const BinData &bins)
 
void initStdEffHists (std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffEle::*vsVarFunc)() const, const CutMasks &masks)
 
void initStdEffHists (std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, const BinData::Data1D &bins, float(OffEle::*vsVarFunc)() const, const CutMasks &masks)
 
void initStdEffHists (std::vector< MonElemWithCutBase< OffPho > * > &histVec, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffPho::*vsVarFunc)() const, const CutMasks &masks)
 
void initStdEffHists (std::vector< MonElemWithCutBase< OffPho > * > &histVec, const std::string &baseName, const BinData::Data1D &bins, float(OffPho::*vsVarFunc)() const, const CutMasks &masks)
 
void initStdEleCutHists (std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, const BinData &bins, EgHLTDQMCut< OffEle > *cut=NULL)
 
void initStdEleHists (std::vector< MonElemManagerBase< OffEle > * > &histVec, const std::string &baseName, const BinData &bins)
 
void initStdPhoHists (std::vector< MonElemManagerBase< OffPho > * > &histVec, const std::string &baseName, const BinData &bins)
 
void initTightLooseDiObjTrigHistsTrigCuts (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
 
void initTightLooseDiObjTrigHistsTrigCuts (std::vector< MonElemContainer< OffPho > * > &phoMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
 
void initTightLooseTrigHists (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins, EgHLTDQMCut< OffEle > *eleCut)
 
void initTightLooseTrigHists (std::vector< MonElemContainer< OffPho > * > &phoMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins, EgHLTDQMCut< OffPho > *phoCut)
 
template<class T >
void initTightLooseTrigHists (std::vector< MonElemContainer< T > * > &monElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins, const std::string &objName)
 
void initTightLooseTrigHistsTrigCuts (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
 
void initTightLooseTrigHistsTrigCuts (std::vector< MonElemContainer< OffPho > * > &phoMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
 
void initTrigTagProbeHists (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > filterNames, int cutMask, const BinData &bins)
 

Function Documentation

template<class T , typename varType >
void egHLT::MonElemFuncs::addStdHist ( std::vector< MonElemManagerBase< T > * > &  histVec,
const std::string &  name,
const std::string &  title,
const BinData::Data1D &  binData,
varType(T::*)() const  varFunc 
)

Definition at line 68 of file EgHLTMonElemFuncs.h.

References egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.

69  {
70  histVec.push_back(new MonElemMgrEBEE<T,varType>(name,title,binData.nr,binData.min,binData.max,varFunc));
71  }
void egHLT::MonElemFuncs::addTightLooseTrigHist ( std::vector< MonElemContainer< OffEle > * > &  eleMonElems,
const std::string &  tightTrig,
const std::string &  looseTrig,
EgHLTDQMCut< OffEle > *  eleCut,
const std::string &  histId,
const BinData bins 
)

Definition at line 242 of file EgHLTMonElemFuncs.cc.

References egHLT::EgHLTDQMCut< T >::clone(), egHLT::TrigCodes::getCode(), initStdEleHists(), egHLT::MonElemContainer< T >::monElems(), egHLT::MonElemContainer< T >::name(), and NULL.

Referenced by addTightLooseTrigHist(), initTightLooseDiObjTrigHistsTrigCuts(), initTightLooseTrigHists(), and initTightLooseTrigHistsTrigCuts().

246 {
247  MonElemContainer<OffEle>* passMonElem = NULL;
248  passMonElem = new MonElemContainer<OffEle>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","",
249  &(*(new EgMultiCut<OffEle>) <<
250  new EgObjTrigCut<OffEle>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<OffEle>::AND) <<
251  eleCut->clone()));
252 
253 
254  MonElemContainer<OffEle>* failMonElem = NULL;
255  failMonElem = new MonElemContainer<OffEle>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","",
256  &(*(new EgMultiCut<OffEle>) <<
257  new EgObjTrigCut<OffEle>(TrigCodes::getCode(looseTrig),EgObjTrigCut<OffEle>::AND,TrigCodes::getCode(tightTrig)) <<
258  eleCut));
259 
260  MonElemFuncs::initStdEleHists(passMonElem->monElems(),passMonElem->name(),bins);
261  MonElemFuncs::initStdEleHists(failMonElem->monElems(),failMonElem->name(),bins);
262  eleMonElems.push_back(passMonElem);
263  eleMonElems.push_back(failMonElem);
264 }
void initStdEleHists(std::vector< MonElemManagerBase< OffEle > * > &histVec, const std::string &baseName, const BinData &bins)
const std::string & name() const
#define NULL
Definition: scimark2.h:8
virtual EgHLTDQMCut< T > * clone() const =0
std::vector< MonElemManagerBase< T > * > & monElems()
void egHLT::MonElemFuncs::addTightLooseTrigHist ( std::vector< MonElemContainer< OffPho > * > &  phoMonElems,
const std::string &  tightTrig,
const std::string &  looseTrig,
EgHLTDQMCut< OffPho > *  phoCut,
const std::string &  histId,
const BinData bins 
)

Definition at line 268 of file EgHLTMonElemFuncs.cc.

References egHLT::EgHLTDQMCut< T >::clone(), egHLT::TrigCodes::getCode(), initStdPhoHists(), egHLT::MonElemContainer< T >::monElems(), egHLT::MonElemContainer< T >::name(), and NULL.

272 {
273  MonElemContainer<OffPho>* passMonElem = NULL;
274  passMonElem = new MonElemContainer<OffPho>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","",
275  &(*(new EgMultiCut<OffPho>) <<
276  new EgObjTrigCut<OffPho>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<OffPho>::AND) <<
277  phoCut->clone()));
278 
279 
280  MonElemContainer<OffPho>* failMonElem = NULL;
281  failMonElem = new MonElemContainer<OffPho>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","",
282  &(*(new EgMultiCut<OffPho>) <<
283  new EgObjTrigCut<OffPho>(TrigCodes::getCode(looseTrig),EgObjTrigCut<OffPho>::AND,TrigCodes::getCode(tightTrig)) <<
284  phoCut));
285 
286  MonElemFuncs::initStdPhoHists(passMonElem->monElems(),passMonElem->name(),bins);
287  MonElemFuncs::initStdPhoHists(failMonElem->monElems(),failMonElem->name(),bins);
288  phoMonElems.push_back(passMonElem);
289  phoMonElems.push_back(failMonElem);
290 }
const std::string & name() const
#define NULL
Definition: scimark2.h:8
virtual EgHLTDQMCut< T > * clone() const =0
std::vector< MonElemManagerBase< T > * > & monElems()
void initStdPhoHists(std::vector< MonElemManagerBase< OffPho > * > &histVec, const std::string &baseName, const BinData &bins)
template<class T >
void egHLT::MonElemFuncs::addTightLooseTrigHist ( std::vector< MonElemContainer< T > * > &  monElems,
const std::string &  tightTrig,
const std::string &  looseTrig,
const std::string &  histId,
const BinData &  bins 
)

Definition at line 76 of file EgHLTMonElemFuncs.h.

References addTightLooseTrigHist(), egHLT::BinData::et, ExpressReco_HICollisions_FallBack::et, egHLT::TrigCodes::getCode(), egHLT::trigTools::getEtThresFromName(), egHLT::MonElemContainer< T >::monElems(), and egHLT::MonElemContainer< T >::name().

79  {
80 
81  float etCutValue = trigTools::getEtThresFromName(tightTrig);
82 
83  EgHLTDQMCut<T>* etCut = new EgGreaterCut<T,float>(etCutValue,&T::etSC); //note the cut in trigger is on SC Et
84  addTightLooseTrigHist(monElems,tightTrig,looseTrig,etCut,histId,bins);
85 
86  //now make the new mon elems without the et cut (have to be placed in containers even though each container just has one monelem)
87  MonElemContainer<T>* passEtMonElem;
88  passEtMonElem = new MonElemContainer<T>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","",
89  new EgObjTrigCut<T>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<T>::AND));
90  addStdHist<T,float>(passEtMonElem->monElems(),passEtMonElem->name()+"_etUnCut",passEtMonElem->name()+" E_{T} (Uncut);E_{T} (GeV)",bins.et,&T::et);
91 
92  MonElemContainer<T>* failEtMonElem;
93  failEtMonElem = new MonElemContainer<T>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","",
94  new EgObjTrigCut<T>(TrigCodes::getCode(looseTrig),EgObjTrigCut<T>::AND,TrigCodes::getCode(tightTrig)));
95  addStdHist<T,float>(failEtMonElem->monElems(),failEtMonElem->name()+"_etUnCut",failEtMonElem->name()+" E_{T} (Uncut);E_{T} (GeV)",bins.et,&T::et);
96 
97  monElems.push_back(passEtMonElem);
98  monElems.push_back(failEtMonElem);
99  }
bool AND(const PFCandidate &cand, const RecoTauQualityCuts::QCutFuncCollection &cuts)
float getEtThresFromName(const std::string &trigName)
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)
void egHLT::MonElemFuncs::initStdEffHists ( std::vector< MonElemWithCutBase< OffEle > * > &  histVec,
const std::string &  baseName,
int  nrBins,
double  xMin,
double  xMax,
float(OffEle::*)() const  vsVarFunc,
const CutMasks masks 
)

Definition at line 82 of file EgHLTMonElemFuncs.cc.

References egHLT::OffEle::cutCode(), egHLT::EgCutCodes::DETAIN, egHLT::EgCutCodes::DPHIIN, egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::HLTISOLHAD, egHLT::EgCutCodes::HLTISOLTRKSELE, egHLT::EgCutCodes::HLTISOLTRKSPHO, egHLT::EgCutCodes::ISOLEM, egHLT::EgCutCodes::ISOLHAD, egHLT::EgCutCodes::ISOLPTTRKS, egHLT::EgCutCodes::SIGMAIETAIETA, and egHLT::CutMasks::stdEle.

Referenced by egHLT::EleHLTFilterMon::EleHLTFilterMon(), initStdEffHists(), and egHLT::PhoHLTFilterMon::PhoHLTFilterMon().

83 {
84  //some convience typedefs, I hate typedefs but atleast here where they are defined is obvious
85  typedef EgHLTDQMVarCut<OffEle> VarCut;
86  typedef MonElemWithCutEBEE<OffEle,float> MonElemFloat;
87  int stdCutCode = masks.stdEle;
88 
89  //first do the zero and all cuts histograms
90  histVec.push_back(new MonElemFloat(baseName+"_noCuts",baseName+" NoCuts",nrBins,xMin,xMax,vsVarFunc));
91  histVec.push_back(new MonElemFloat(baseName+"_allCuts",baseName+" All Cuts",nrBins,xMin,xMax,vsVarFunc,
92  new VarCut(stdCutCode,&OffEle::cutCode)));
93 
94  //now for the n-1
95  histVec.push_back(new MonElemFloat(baseName+"_n1_dEtaIn",baseName+" N1 #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc,
96  new VarCut(~EgCutCodes::DETAIN&stdCutCode,&OffEle::cutCode)));
97  histVec.push_back(new MonElemFloat(baseName+"_n1_dPhiIn",baseName+" N1 #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc,
98  new VarCut(~EgCutCodes::DPHIIN&stdCutCode,&OffEle::cutCode)));
99  histVec.push_back(new MonElemFloat(baseName+"_n1_sigmaIEtaIEta",baseName+" N1 #sigma_{#ieta#ieta}",nrBins,xMin,xMax,vsVarFunc,
100  new VarCut(~EgCutCodes::SIGMAIETAIETA&stdCutCode,&OffEle::cutCode)));
101  histVec.push_back(new MonElemFloat(baseName+"_n1_hOverE",baseName+" N1 H/E",nrBins,xMin,xMax,vsVarFunc,
102  new VarCut(~EgCutCodes::HADEM &stdCutCode,&OffEle::cutCode)));
103 
104  histVec.push_back(new MonElemFloat(baseName+"_n1_isolEm",baseName+" N1 Isol Em",nrBins,xMin,xMax,vsVarFunc,
105  new VarCut(~EgCutCodes::ISOLEM&stdCutCode,&OffEle::cutCode)));
106  histVec.push_back(new MonElemFloat(baseName+"_n1_isolHad",baseName+" N1 Isol Had",nrBins,xMin,xMax,vsVarFunc,
107  new VarCut(~EgCutCodes::ISOLHAD&stdCutCode,&OffEle::cutCode)));
108  histVec.push_back(new MonElemFloat(baseName+"_n1_isolPtTrks",baseName+" N1 Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
109  new VarCut(~EgCutCodes::ISOLPTTRKS&stdCutCode,&OffEle::cutCode)));
110  histVec.push_back(new MonElemFloat(baseName+"_n1_hltIsolHad",baseName+" N1 HLT Isol Had",nrBins,xMin,xMax,vsVarFunc,
111  new VarCut(~EgCutCodes::HLTISOLHAD&stdCutCode,&OffEle::cutCode)));
112  histVec.push_back(new MonElemFloat(baseName+"_n1_hltIsolTrksEle",baseName+" N1 HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc,
113  new VarCut(~EgCutCodes::HLTISOLTRKSELE&stdCutCode,&OffEle::cutCode)));
114 
115 
116  histVec.push_back(new MonElemFloat(baseName+"_single_dEtaIn",baseName+" Single #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc,
117  new VarCut(EgCutCodes::DETAIN,&OffEle::cutCode)));
118  histVec.push_back(new MonElemFloat(baseName+"_single_dPhiIn",baseName+" Single #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc,
119  new VarCut(EgCutCodes::DPHIIN,&OffEle::cutCode)));
120  histVec.push_back(new MonElemFloat(baseName+"_single_sigmaIEtaIEta",baseName+" Single #sigma_{#ieta#ieta}",nrBins,xMin,xMax,vsVarFunc,
121  new VarCut(EgCutCodes::SIGMAIETAIETA,&OffEle::cutCode)));
122  histVec.push_back(new MonElemFloat(baseName+"_single_hOverE",baseName+" Single H/E",nrBins,xMin,xMax,vsVarFunc,
123  new VarCut(EgCutCodes::HADEM,&OffEle::cutCode)));
124 
125 
126  histVec.push_back(new MonElemFloat(baseName+"_single_isolEm",baseName+" Single Isol Em",nrBins,xMin,xMax,vsVarFunc,
127  new VarCut(EgCutCodes::ISOLEM,&OffEle::cutCode)));
128  histVec.push_back(new MonElemFloat(baseName+"_single_isolHad",baseName+" Single Isol Had",nrBins,xMin,xMax,vsVarFunc,
129  new VarCut(EgCutCodes::ISOLHAD,&OffEle::cutCode)));
130  histVec.push_back(new MonElemFloat(baseName+"_single_isolPtTrks",baseName+" Single Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
131  new VarCut(EgCutCodes::ISOLPTTRKS,&OffEle::cutCode)));
132 
133  histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolHad",baseName+" Single HLT Isol Had",nrBins,xMin,xMax,vsVarFunc,
134  new VarCut(EgCutCodes::HLTISOLHAD,&OffEle::cutCode)));
135  histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksEle",baseName+" Single HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc,
136  new VarCut(EgCutCodes::HLTISOLTRKSELE,&OffEle::cutCode)));
137  histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksPho",baseName+" Single HLT Isol Tracks Pho ",nrBins,xMin,xMax,vsVarFunc,
138  new VarCut(EgCutCodes::HLTISOLTRKSPHO,&OffEle::cutCode)));
139 
140 }
void egHLT::MonElemFuncs::initStdEffHists ( std::vector< MonElemWithCutBase< OffEle > * > &  histVec,
const std::string &  baseName,
const BinData::Data1D bins,
float(OffEle::*)() const  vsVarFunc,
const CutMasks masks 
)

Definition at line 72 of file EgHLTMonElemFuncs.cc.

References initStdEffHists(), egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.

73 {
74  initStdEffHists(histVec,baseName,bins.nr,bins.min,bins.max,vsVarFunc,masks);
75 }
void initStdEffHists(std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffEle::*vsVarFunc)() const, const CutMasks &masks)
void egHLT::MonElemFuncs::initStdEffHists ( std::vector< MonElemWithCutBase< OffPho > * > &  histVec,
const std::string &  baseName,
int  nrBins,
double  xMin,
double  xMax,
float(OffPho::*)() const  vsVarFunc,
const CutMasks masks 
)

Definition at line 142 of file EgHLTMonElemFuncs.cc.

References egHLT::OffPho::cutCode(), egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::HLTISOLHAD, egHLT::EgCutCodes::HLTISOLTRKSPHO, egHLT::EgCutCodes::ISOLEM, egHLT::EgCutCodes::ISOLHAD, egHLT::EgCutCodes::ISOLNRTRKS, egHLT::EgCutCodes::ISOLPTTRKS, egHLT::EgCutCodes::R9, egHLT::EgCutCodes::SIGMAIETAIETA, and egHLT::CutMasks::stdPho.

143 {
144  //some convience typedefs, I hate typedefs but atleast here where they are defined is obvious
145  typedef EgHLTDQMVarCut<OffPho> VarCut;
146  typedef MonElemWithCutEBEE<OffPho,float> MonElemFloat;
147  int stdCutCode = masks.stdPho;
148 
149  histVec.push_back(new MonElemFloat(baseName+"_noCuts",baseName+" NoCuts",nrBins,xMin,xMax,vsVarFunc));
150  histVec.push_back(new MonElemFloat(baseName+"_allCuts",baseName+" All Cuts",nrBins,xMin,xMax,vsVarFunc,
151  new VarCut(stdCutCode,&OffPho::cutCode)));
152 
153 
154  histVec.push_back(new MonElemFloat(baseName+"_n1_sigmaIEtaIEta",baseName+" N1 #sigma_{#ieta#ieta}",nrBins,xMin,xMax,vsVarFunc,
155  new VarCut(~EgCutCodes::SIGMAIETAIETA&stdCutCode,&OffPho::cutCode)));
156  histVec.push_back(new MonElemFloat(baseName+"_n1_hOverE",baseName+" N1 H/E",nrBins,xMin,xMax,vsVarFunc,
157  new VarCut(~EgCutCodes::R9&stdCutCode,&OffPho::cutCode)));
158  histVec.push_back(new MonElemFloat(baseName+"_n1_r9",baseName+" N1 R9",nrBins,xMin,xMax,vsVarFunc,
159  new VarCut(~EgCutCodes::HADEM &stdCutCode,&OffPho::cutCode)));
160  histVec.push_back(new MonElemFloat(baseName+"_n1_isolEm",baseName+" N1 Isol Em",nrBins,xMin,xMax,vsVarFunc,
161  new VarCut(~EgCutCodes::ISOLEM&stdCutCode,&OffPho::cutCode)));
162  histVec.push_back(new MonElemFloat(baseName+"_n1_isolHad",baseName+" N1 Isol Had",nrBins,xMin,xMax,vsVarFunc,
163  new VarCut(~EgCutCodes::ISOLHAD&stdCutCode,&OffPho::cutCode)));
164  histVec.push_back(new MonElemFloat(baseName+"_n1_isolPtTrks",baseName+" N1 Pt Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
165  new VarCut(~EgCutCodes::ISOLPTTRKS&stdCutCode,&OffPho::cutCode)));
166  histVec.push_back(new MonElemFloat(baseName+"_n1_isolNrTrks",baseName+" N1 Nr Isol Tracks",nrBins,xMin,xMax,vsVarFunc,
167  new VarCut(~EgCutCodes::ISOLNRTRKS&stdCutCode,&OffPho::cutCode)));
168 
169  histVec.push_back(new MonElemFloat(baseName+"_single_sigmaIEtaIEta",baseName+" Single #sigma_{#ieta#ieta}",nrBins,xMin,xMax,vsVarFunc,
170  new VarCut(EgCutCodes::SIGMAIETAIETA,&OffPho::cutCode)));
171  histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolHad",baseName+" N1 HLT Isol Had",nrBins,xMin,xMax,vsVarFunc,
172  new VarCut(EgCutCodes::HLTISOLHAD,&OffPho::cutCode)));
173  histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksPho",baseName+" N1 HLT Isol Tracks Pho ",nrBins,xMin,xMax,vsVarFunc,
174  new VarCut(EgCutCodes::HLTISOLTRKSPHO,&OffPho::cutCode)));
175 
176 
177 }
void egHLT::MonElemFuncs::initStdEffHists ( std::vector< MonElemWithCutBase< OffPho > * > &  histVec,
const std::string &  baseName,
const BinData::Data1D bins,
float(OffPho::*)() const  vsVarFunc,
const CutMasks masks 
)

Definition at line 77 of file EgHLTMonElemFuncs.cc.

References initStdEffHists(), egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.

78 {
79  initStdEffHists(histVec,baseName,bins.nr,bins.min,bins.max,vsVarFunc,masks);
80 }
void initStdEffHists(std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffEle::*vsVarFunc)() const, const CutMasks &masks)
void egHLT::MonElemFuncs::initStdEleCutHists ( std::vector< MonElemWithCutBase< OffEle > * > &  histVec,
const std::string &  baseName,
const BinData bins,
EgHLTDQMCut< OffEle > *  cut = NULL 
)

Definition at line 182 of file EgHLTMonElemFuncs.cc.

References egHLT::BinData::charge, egHLT::OffEle::charge(), egHLT::EgHLTDQMCut< T >::clone(), egHLT::OffEle::detEta(), egHLT::BinData::et, egHLT::OffEle::et(), egHLT::BinData::eta, egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, egHLT::BinData::Data1D::nr, NULL, egHLT::BinData::phi, and egHLT::OffEle::phi().

Referenced by initTrigTagProbeHists().

183 {
184  histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_et",
185  baseName+" E_{T};E_{T} (GeV)",
186  bins.et.nr,bins.et.min,bins.et.max,&OffEle::et,cut));
187  histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_eta",
188  baseName+" #eta;#eta",
189  bins.eta.nr,bins.eta.min,bins.eta.max,
190  &OffEle::detEta,cut ? cut->clone(): NULL));
191  histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_phi",
192  baseName+" #phi;#phi (rad)",
193  bins.phi.nr,bins.phi.min,bins.phi.max,
194  &OffEle::phi,cut ? cut->clone():NULL));
195  histVec.push_back(new MonElemWithCutEBEE<OffEle,int>(baseName+"_charge",
196  baseName+" Charge; charge",
197  bins.charge.nr,bins.charge.min,bins.charge.max,
198  &OffEle::charge,cut ? cut->clone():NULL));
199 }
#define NULL
Definition: scimark2.h:8
double charge(const std::vector< uint8_t > &Ampls)
virtual EgHLTDQMCut< T > * clone() const =0
Definition: DDAxes.h:10
void egHLT::MonElemFuncs::initStdEleHists ( std::vector< MonElemManagerBase< OffEle > * > &  histVec,
const std::string &  baseName,
const BinData bins 
)

Definition at line 11 of file EgHLTMonElemFuncs.cc.

References egHLT::BinData::charge, egHLT::OffEle::charge(), egHLT::BinData::dEtaIn, egHLT::OffEle::dEtaIn(), egHLT::OffEle::detEta(), egHLT::BinData::dPhiIn, egHLT::OffEle::dPhiIn(), egHLT::BinData::e1x5, egHLT::OffEle::e1x5Over5x5(), egHLT::BinData::e2x5, egHLT::OffEle::e2x5MaxOver5x5(), egHLT::BinData::eOverP, egHLT::OffEle::epIn(), egHLT::BinData::et, egHLT::OffEle::et(), egHLT::BinData::eta, egHLT::BinData::etaVsPhi, egHLT::BinData::etHigh, egHLT::OffEle::etSC(), egHLT::OffEle::hltIsolHad(), egHLT::OffEle::hltIsolTrksEle(), egHLT::OffEle::hltIsolTrksPho(), egHLT::BinData::hOverE, egHLT::OffEle::hOverE(), egHLT::BinData::invEInvP, egHLT::OffEle::invEInvP(), egHLT::BinData::isolEm, egHLT::OffEle::isolEm(), egHLT::BinData::isolHad, egHLT::OffEle::isolHad(), egHLT::BinData::isolPtTrks, egHLT::OffEle::isolPtTrks(), egHLT::BinData::Data2D::nrX, egHLT::BinData::Data2D::nrY, egHLT::BinData::phi, egHLT::OffEle::phi(), egHLT::BinData::sigEtaEta, egHLT::OffEle::sigmaIEtaIEta(), egHLT::BinData::Data2D::xMax, egHLT::BinData::Data2D::xMin, egHLT::BinData::Data2D::yMax, and egHLT::BinData::Data2D::yMin.

Referenced by addTightLooseTrigHist(), and egHLT::EleHLTFilterMon::EleHLTFilterMon().

12 {
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);
18  addStdHist<OffEle,int>(histVec,baseName+"_charge",baseName+" Charge; charge",bins.charge,&OffEle::charge);
19 
20  addStdHist<OffEle,float>(histVec,baseName+"_hOverE",baseName+" H/E; H/E",bins.hOverE,&OffEle::hOverE);
21  addStdHist<OffEle,float>(histVec,baseName+"_dPhiIn",baseName+" #Delta #phi_{in}; #Delta #phi_{in}",bins.dPhiIn,&OffEle::dPhiIn);
22  addStdHist<OffEle,float>(histVec,baseName+"_dEtaIn",baseName+" #Delta #eta_{in}; #Delta #eta_{in}",bins.dEtaIn,&OffEle::dEtaIn);
23  addStdHist<OffEle,float>(histVec,baseName+"_sigmaIEtaIEta",baseName+"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.sigEtaEta,&OffEle::sigmaIEtaIEta);
24  addStdHist<OffEle,float>(histVec,baseName+"_epIn",baseName+"E/p_{in}; E/p_{in}",bins.eOverP,&OffEle::epIn);
25  addStdHist<OffEle,float>(histVec,baseName+"_epOut",baseName+"E/p_{out}; E/p_{out}",bins.eOverP,&OffEle::epIn);
26  addStdHist<OffEle,float>(histVec,baseName+"_invEInvP",baseName+"1/E -1/p; 1/E - 1/p",bins.invEInvP,&OffEle::invEInvP);
27 
28  addStdHist<OffEle,float>(histVec,baseName+"_e2x5Over5x5",baseName+"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.e2x5,&OffEle::e2x5MaxOver5x5);
29  addStdHist<OffEle,float>(histVec,baseName+"_e1x5Over5x5",baseName+"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.e1x5,&OffEle::e1x5Over5x5);
30  addStdHist<OffEle,float>(histVec,baseName+"_isolEM",baseName+"Isol EM; Isol EM (GeV)",bins.isolEm,&OffEle::isolEm);
31  addStdHist<OffEle,float>(histVec,baseName+"_isolHad",baseName+"Isol Had; Isol Had (GeV)",bins.isolHad,&OffEle::isolHad);
32  addStdHist<OffEle,float>(histVec,baseName+"_isolPtTrks",baseName+"Isol Pt Trks; Isol Pt Tracks (GeV/c)",bins.isolPtTrks,&OffEle::isolPtTrks);
33  addStdHist<OffEle,float>(histVec,baseName+"_hltIsolTrksEle",baseName+"HLT Ele Isol Trks; HLT Ele Iso Tracks (GeV/c)",bins.isolPtTrks,&OffEle::hltIsolTrksEle);
34  addStdHist<OffEle,float>(histVec,baseName+"_hltIsolTrksPho",baseName+"HLT Pho Isol Trks; HLT Pho Iso Tracks (GeV/c)",bins.isolPtTrks,&OffEle::hltIsolTrksPho);
35  addStdHist<OffEle,float>(histVec,baseName+"_hltIsolHad",baseName+"HLT Isol Had; HLT Isol Had (GeV)",bins.isolHad,&OffEle::hltIsolHad);
36 
37  histVec.push_back(new MonElemManager2D<OffEle,float,float>(baseName+"_etaVsPhi",
38  baseName+" #eta vs #phi;#eta;#phi (rad)",
39  bins.etaVsPhi.nrX,bins.etaVsPhi.xMin,bins.etaVsPhi.xMax,
40  bins.etaVsPhi.nrY,bins.etaVsPhi.yMin,bins.etaVsPhi.yMax,
41  &OffEle::detEta,&OffEle::phi));
42 
43 }
double charge(const std::vector< uint8_t > &Ampls)
Data1D isolPtTrks
Definition: EgHLTBinData.h:49
Data1D sigEtaEta
Definition: EgHLTBinData.h:43
Definition: DDAxes.h:10
void egHLT::MonElemFuncs::initStdPhoHists ( std::vector< MonElemManagerBase< OffPho > * > &  histVec,
const std::string &  baseName,
const BinData bins 
)

Definition at line 45 of file EgHLTMonElemFuncs.cc.

References egHLT::OffPho::detEta(), egHLT::BinData::e1x5, egHLT::OffPho::e1x5Over5x5(), egHLT::BinData::e2x5, egHLT::OffPho::e2x5MaxOver5x5(), egHLT::BinData::et, egHLT::OffPho::et(), egHLT::BinData::eta, egHLT::BinData::etaVsPhi, egHLT::BinData::etHigh, egHLT::OffPho::etSC(), egHLT::OffPho::hltIsolHad(), egHLT::OffPho::hltIsolTrks(), egHLT::BinData::hOverE, egHLT::OffPho::hOverE(), egHLT::BinData::isolEm, egHLT::OffPho::isolEm(), egHLT::BinData::isolHad, egHLT::OffPho::isolHad(), egHLT::BinData::isolNrTrks, egHLT::OffPho::isolNrTrks(), egHLT::BinData::isolPtTrks, egHLT::OffPho::isolPtTrks(), egHLT::BinData::Data2D::nrX, egHLT::BinData::Data2D::nrY, egHLT::BinData::phi, egHLT::OffPho::phi(), egHLT::BinData::r9, egHLT::OffPho::r9(), egHLT::BinData::sigEtaEta, egHLT::OffPho::sigmaIEtaIEta(), egHLT::BinData::Data2D::xMax, egHLT::BinData::Data2D::xMin, egHLT::BinData::Data2D::yMax, and egHLT::BinData::Data2D::yMin.

Referenced by addTightLooseTrigHist(), and egHLT::PhoHLTFilterMon::PhoHLTFilterMon().

46 {
47  addStdHist<OffPho,float>(histVec,baseName+"_et",baseName+" E_{T};E_{T} (GeV)",bins.et,&OffPho::et);
48  addStdHist<OffPho,float>(histVec,baseName+"_etHigh",baseName+" E_{T};E_{T} (GeV)",bins.etHigh,&OffPho::et);
49  addStdHist<OffPho,float>(histVec,baseName+"_etSC",baseName+" E^{SC}_{T};E^{SC}_{T} (GeV)",bins.et,&OffPho::etSC);
50  addStdHist<OffPho,float>(histVec,baseName+"_eta",baseName+" #eta;#eta",bins.eta,&OffPho::detEta);
51  addStdHist<OffPho,float>(histVec,baseName+"_phi",baseName+" #phi;#phi (rad)",bins.phi,&OffPho::phi);
52 
53  addStdHist<OffPho,float>(histVec,baseName+"_hOverE",baseName+" H/E; H/E",bins.hOverE,&OffPho::hOverE);
54  addStdHist<OffPho,float>(histVec,baseName+"_r9",baseName+" R9 ; R9",bins.r9,&OffPho::r9);
55  addStdHist<OffPho,float>(histVec,baseName+"_sigmaIEtaIEta",baseName+"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.sigEtaEta,&OffPho::sigmaIEtaIEta);
56  addStdHist<OffPho,float>(histVec,baseName+"_e2x5Over5x5",baseName+"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.e2x5,&OffPho::e2x5MaxOver5x5);
57  addStdHist<OffPho,float>(histVec,baseName+"_e1x5Over5x5",baseName+"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.e1x5,&OffPho::e1x5Over5x5);
58  addStdHist<OffPho,float>(histVec,baseName+"_isolEM",baseName+"Isol EM; Isol EM (GeV)",bins.isolEm,&OffPho::isolEm);
59  addStdHist<OffPho,float>(histVec,baseName+"_isolHad",baseName+"Isol Had; Isol Had (GeV)",bins.isolHad,&OffPho::isolHad);
60  addStdHist<OffPho,float>(histVec,baseName+"_isolPtTrks",baseName+"Isol Pt Trks; Isol Pt Tracks (GeV/c)",bins.isolPtTrks,&OffPho::isolPtTrks);
61  addStdHist<OffPho,int>(histVec,baseName+"_isolNrTrks",baseName+"Isol Nr Trks; Isol Nr Tracks",bins.isolNrTrks,&OffPho::isolNrTrks);
62  addStdHist<OffPho,float>(histVec,baseName+"_hltIsolTrks",baseName+"HLT Isol Trks; HLT Iso Tracks (GeV/c)",bins.isolPtTrks,&OffPho::hltIsolTrks);
63  addStdHist<OffPho,float>(histVec,baseName+"_hltIsolHad",baseName+"HLT Isol Had; HLT Isol Had (GeV)",bins.isolPtTrks,&OffPho::hltIsolHad);
64 
65  histVec.push_back(new MonElemManager2D<OffPho,float,float>(baseName+"_etaVsPhi",
66  baseName+" #eta vs #phi;#eta;#phi (rad)",
67  bins.etaVsPhi.nrX,bins.etaVsPhi.xMin,bins.etaVsPhi.xMax,
68  bins.etaVsPhi.nrY,bins.etaVsPhi.yMin,bins.etaVsPhi.yMax,
69  &OffPho::detEta,&OffPho::phi));
70 }
Data1D isolNrTrks
Definition: EgHLTBinData.h:50
Data1D isolPtTrks
Definition: EgHLTBinData.h:49
Data1D sigEtaEta
Definition: EgHLTBinData.h:43
Definition: DDAxes.h:10
void egHLT::MonElemFuncs::initTightLooseDiObjTrigHistsTrigCuts ( std::vector< MonElemContainer< OffEle > * > &  eleMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins 
)

Definition at line 324 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffEle::trigCutsCutCode().

Referenced by EgHLTOfflineSource::beginRun().

325 {
326  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
327  std::vector<std::string> splitString;
328  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
329  if(splitString.size()!=2) continue; //format incorrect
330  const std::string& tightTrig = splitString[0];
331  const std::string& looseTrig = splitString[1];
332  EgHLTDQMCut<OffEle>* eleCut = new EgDiEleUserCut<TrigCodes::TrigBitSet>(&OffEle::trigCutsCutCode,TrigCodes::getCode(tightTrig));
333  addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle_trigCuts",bins);
334  }
335 }
std::vector< std::string > splitString(const std::string &fLine)
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTightLooseDiObjTrigHistsTrigCuts ( std::vector< MonElemContainer< OffPho > * > &  phoMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins 
)

Definition at line 339 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffPho::trigCutsCutCode().

340 {
341  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
342  std::vector<std::string> splitString;
343  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
344  if(splitString.size()!=2) continue; //format incorrect
345  const std::string& tightTrig = splitString[0];
346  const std::string& looseTrig = splitString[1];
347  EgHLTDQMCut<OffPho>* phoCut = new EgDiPhoUserCut<TrigCodes::TrigBitSet>(&OffPho::trigCutsCutCode,TrigCodes::getCode(tightTrig));
348  addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho_trigCuts",bins);
349  }
350 }
std::vector< std::string > splitString(const std::string &fLine)
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTightLooseTrigHists ( std::vector< MonElemContainer< OffEle > * > &  eleMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins,
EgHLTDQMCut< OffEle > *  eleCut 
)

Definition at line 204 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::EgHLTDQMCut< T >::clone(), split, and splitString().

Referenced by EgHLTOfflineSource::beginRun().

205 {
206  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
207  std::vector<std::string> splitString;
208  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
209  if(splitString.size()!=2) continue; //format incorrect
210  const std::string& tightTrig = splitString[0];
211  const std::string& looseTrig = splitString[1];
212  //this step is necessary as we want to transfer ownership of eleCut to the addTrigLooseTrigHist func on the last iteration
213  //but clone it before that
214  //perhaps my object ownership rules need to be re-evalulated
215  if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut->clone(),"gsfEle",bins);
216  else addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle",bins);
217  }
218 }
std::vector< std::string > splitString(const std::string &fLine)
virtual EgHLTDQMCut< T > * clone() const =0
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTightLooseTrigHists ( std::vector< MonElemContainer< OffPho > * > &  phoMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins,
EgHLTDQMCut< OffPho > *  phoCut 
)

Definition at line 221 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::EgHLTDQMCut< T >::clone(), split, and splitString().

222 {
223  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
224  std::vector<std::string> splitString;
225  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
226  if(splitString.size()!=2) continue; //format incorrect
227  const std::string& tightTrig = splitString[0];
228  const std::string& looseTrig = splitString[1];
229 
230  //this step is necessary as we want to transfer ownership of phoCut to the addTrigLooseTrigHist func on the last iteration
231  //but clone it before that
232  //perhaps my object ownership rules need to be re-evalulated
233  if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut->clone(),"pho",bins);
234  else addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho",bins);
235  }
236 }
std::vector< std::string > splitString(const std::string &fLine)
virtual EgHLTDQMCut< T > * clone() const =0
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)
double split
Definition: MVATrainer.cc:139
template<class T >
void egHLT::MonElemFuncs::initTightLooseTrigHists ( std::vector< MonElemContainer< T > * > &  monElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData &  bins,
const std::string &  objName 
)

Definition at line 103 of file EgHLTMonElemFuncs.h.

References addTightLooseTrigHist(), split, and splitString().

104  {
105  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
106  std::vector<std::string> splitString;
107  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
108  if(splitString.size()!=2) continue; //format incorrect
109  const std::string& tightTrig = splitString[0];
110  const std::string& looseTrig = splitString[1];
111  //this step is necessary as we want to transfer ownership of eleCut to the addTrigLooseTrigHist func on the last iteration
112  //but clone it before that
113  //perhaps my object ownership rules need to be re-evalulated
114  if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(monElems,tightTrig,looseTrig,objName,bins);
115  else addTightLooseTrigHist(monElems,tightTrig,looseTrig,objName,bins);
116  }
117  }
std::vector< std::string > splitString(const std::string &fLine)
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTightLooseTrigHistsTrigCuts ( std::vector< MonElemContainer< OffEle > * > &  eleMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins 
)

Definition at line 295 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffEle::trigCutsCutCode().

Referenced by EgHLTOfflineSource::beginRun().

296 {
297  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
298  std::vector<std::string> splitString;
299  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
300  if(splitString.size()!=2) continue; //format incorrect
301  const std::string& tightTrig = splitString[0];
302  const std::string& looseTrig = splitString[1];
303  EgHLTDQMCut<OffEle>* eleCut = new EgHLTDQMUserVarCut<OffEle,TrigCodes::TrigBitSet>(&OffEle::trigCutsCutCode,TrigCodes::getCode(tightTrig));
304  addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle_trigCuts",bins);
305  }
306 }
std::vector< std::string > splitString(const std::string &fLine)
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTightLooseTrigHistsTrigCuts ( std::vector< MonElemContainer< OffPho > * > &  phoMonElems,
const std::vector< std::string > &  tightLooseTrigs,
const BinData bins 
)

Definition at line 309 of file EgHLTMonElemFuncs.cc.

References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffPho::trigCutsCutCode().

310 {
311  for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){
312  std::vector<std::string> splitString;
313  boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":")));
314  if(splitString.size()!=2) continue; //format incorrect
315  const std::string& tightTrig = splitString[0];
316  const std::string& looseTrig = splitString[1];
317  EgHLTDQMCut<OffPho>* phoCut = new EgHLTDQMUserVarCut<OffPho,TrigCodes::TrigBitSet>(&OffPho::trigCutsCutCode,TrigCodes::getCode(tightTrig));
318  addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho_trigCuts",bins);
319  }
320 }
std::vector< std::string > splitString(const std::string &fLine)
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)
double split
Definition: MVATrainer.cc:139
void egHLT::MonElemFuncs::initTrigTagProbeHists ( std::vector< MonElemContainer< OffEle > * > &  eleMonElems,
const std::vector< std::string >  filterNames,
int  cutMask,
const BinData bins 
)

Definition at line 357 of file EgHLTMonElemFuncs.cc.

References egHLT::OffEle::cutCode(), egHLT::MonElemContainer< T >::cutMonElems(), egHLT::BinData::et, egHLT::OffEle::et(), egHLT::OffEle::etSC(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getEtThresFromName(), initStdEleCutHists(), egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, egHLT::MonElemContainer< T >::monElems(), egHLT::MonElemContainer< T >::name(), and egHLT::BinData::Data1D::nr.

Referenced by EgHLTOfflineSource::beginRun().

358 {
359  for(size_t filterNr=0;filterNr<filterNames.size();filterNr++){
360 
361  std::string trigName(filterNames[filterNr]);
362  float etCutValue = trigTools::getEtThresFromName(trigName);
363  MonElemContainer<OffEle>* monElemCont = new MonElemContainer<OffEle>("trigTagProbe","Trigger Tag and Probe",new EgTrigTagProbeCut(TrigCodes::getCode(trigName),cutMask,&OffEle::cutCode));
364  MonElemFuncs::initStdEleCutHists(monElemCont->cutMonElems(),trigName+"_"+monElemCont->name()+"_gsfEle_all",bins,new EgGreaterCut<OffEle,float>(etCutValue,&OffEle::etSC));
365  MonElemFuncs::initStdEleCutHists(monElemCont->cutMonElems(),trigName+"_"+monElemCont->name()+"_gsfEle_pass",bins,&(*(new EgMultiCut<OffEle>) << new EgGreaterCut<OffEle,float>(etCutValue,&OffEle::etSC) << new EgObjTrigCut<OffEle>(TrigCodes::getCode(trigName),EgObjTrigCut<OffEle>::AND)));
366 
367  monElemCont->monElems().push_back(new MonElemMgrEBEE<OffEle,float>(trigName+"_"+monElemCont->name()+"_gsfEle_all_etUnCut",monElemCont->name()+"_gsfEle_all E_{T} (Uncut);E_{T} (GeV)",
368  bins.et.nr,bins.et.min,bins.et.max,&OffEle::et));
369  monElemCont->cutMonElems().push_back(new MonElemWithCutEBEE<OffEle,float>(trigName+"_"+monElemCont->name()+"_gsfEle_pass_etUnCut",monElemCont->name()+"_gsfEle_pass E_{T} (Uncut);E_{T} (GeV)",
370  bins.et.nr,bins.et.min,bins.et.max,&OffEle::et,new EgObjTrigCut<OffEle>(TrigCodes::getCode(trigName),EgObjTrigCut<OffEle>::AND)));
371  eleMonElems.push_back(monElemCont);
372  } //end filter names loop
373 
374 }
const std::string & name() const
void initStdEleCutHists(std::vector< MonElemWithCutBase< OffEle > * > &histVec, const std::string &baseName, const BinData &bins, EgHLTDQMCut< OffEle > *cut=NULL)
float getEtThresFromName(const std::string &trigName)
std::vector< MonElemManagerBase< T > * > & monElems()
std::vector< MonElemWithCutBase< T > * > & cutMonElems()