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) |
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 | addTightLooseTrigHist (std::vector< MonElemContainer< OffPho > * > &phoMonElems, const std::string &tightTrig, const std::string &looseTrig, EgHLTDQMCut< OffPho > *phoCut, const std::string &histId, const BinData &bins) |
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< OffEle > * > &histVec, const std::string &baseName, int nrBins, double xMin, double xMax, float(OffEle::*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< OffPho > * > &phoMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins) |
void | initTightLooseDiObjTrigHistsTrigCuts (std::vector< MonElemContainer< OffEle > * > &eleMonElems, 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 | initTrigTagProbeHist (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string filterName, int cutMask, const BinData &bins) |
void | initTrigTagProbeHists (std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > filterNames, int cutMask, const BinData &bins) |
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 69 of file EgHLTMonElemFuncs.h.
References egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.
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 262 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().
{ MonElemContainer<OffEle>* passMonElem = NULL; passMonElem = new MonElemContainer<OffEle>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","", &(*(new EgMultiCut<OffEle>) << new EgObjTrigCut<OffEle>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<OffEle>::AND) << eleCut->clone())); MonElemContainer<OffEle>* failMonElem = NULL; failMonElem = new MonElemContainer<OffEle>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","", &(*(new EgMultiCut<OffEle>) << new EgObjTrigCut<OffEle>(TrigCodes::getCode(looseTrig),EgObjTrigCut<OffEle>::AND,TrigCodes::getCode(tightTrig)) << eleCut)); MonElemFuncs::initStdEleHists(passMonElem->monElems(),passMonElem->name(),bins); MonElemFuncs::initStdEleHists(failMonElem->monElems(),failMonElem->name(),bins); eleMonElems.push_back(passMonElem); eleMonElems.push_back(failMonElem); }
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 77 of file EgHLTMonElemFuncs.h.
References addTightLooseTrigHist(), egHLT::BinData::et, egHLT::TrigCodes::getCode(), egHLT::trigTools::getEtThresFromName(), egHLT::MonElemContainer< T >::monElems(), and egHLT::MonElemContainer< T >::name().
{ float etCutValue = trigTools::getEtThresFromName(tightTrig); EgHLTDQMCut<T>* etCut = new EgGreaterCut<T,float>(etCutValue,&T::etSC); //note the cut in trigger is on SC Et addTightLooseTrigHist(monElems,tightTrig,looseTrig,etCut,histId,bins); //now make the new mon elems without the et cut (have to be placed in containers even though each container just has one monelem) MonElemContainer<T>* passEtMonElem; passEtMonElem = new MonElemContainer<T>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","", new EgObjTrigCut<T>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<T>::AND)); addStdHist<T,float>(passEtMonElem->monElems(),passEtMonElem->name()+"_etUnCut",passEtMonElem->name()+" E_{T} (Uncut);E_{T} (GeV)",bins.et,&T::et); MonElemContainer<T>* failEtMonElem; failEtMonElem = new MonElemContainer<T>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","", new EgObjTrigCut<T>(TrigCodes::getCode(looseTrig),EgObjTrigCut<T>::AND,TrigCodes::getCode(tightTrig))); addStdHist<T,float>(failEtMonElem->monElems(),failEtMonElem->name()+"_etUnCut",failEtMonElem->name()+" E_{T} (Uncut);E_{T} (GeV)",bins.et,&T::et); monElems.push_back(passEtMonElem); monElems.push_back(failEtMonElem); }
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 288 of file EgHLTMonElemFuncs.cc.
References egHLT::EgHLTDQMCut< T >::clone(), egHLT::TrigCodes::getCode(), initStdPhoHists(), egHLT::MonElemContainer< T >::monElems(), egHLT::MonElemContainer< T >::name(), and NULL.
{ MonElemContainer<OffPho>* passMonElem = NULL; passMonElem = new MonElemContainer<OffPho>(tightTrig+"_"+looseTrig+"_"+histId+"_passTrig","", &(*(new EgMultiCut<OffPho>) << new EgObjTrigCut<OffPho>(TrigCodes::getCode(tightTrig+":"+looseTrig),EgObjTrigCut<OffPho>::AND) << phoCut->clone())); MonElemContainer<OffPho>* failMonElem = NULL; failMonElem = new MonElemContainer<OffPho>(tightTrig+"_"+looseTrig+"_"+histId+"_failTrig","", &(*(new EgMultiCut<OffPho>) << new EgObjTrigCut<OffPho>(TrigCodes::getCode(looseTrig),EgObjTrigCut<OffPho>::AND,TrigCodes::getCode(tightTrig)) << phoCut)); MonElemFuncs::initStdPhoHists(passMonElem->monElems(),passMonElem->name(),bins); MonElemFuncs::initStdPhoHists(failMonElem->monElems(),failMonElem->name(),bins); phoMonElems.push_back(passMonElem); phoMonElems.push_back(failMonElem); }
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 80 of file EgHLTMonElemFuncs.cc.
References initStdEffHists(), egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.
{ initStdEffHists(histVec,baseName,bins.nr,bins.min,bins.max,vsVarFunc,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 146 of file EgHLTMonElemFuncs.cc.
References egHLT::OffPho::cutCode(), egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::ISOLEM, egHLT::EgCutCodes::ISOLHAD, egHLT::EgCutCodes::ISOLNRTRKS, egHLT::EgCutCodes::ISOLPTTRKS, egHLT::EgCutCodes::MAXR9, egHLT::EgCutCodes::SIGMAIETAIETA, and egHLT::CutMasks::stdPho.
{ //some convenience typedefs, I hate typedefs but atleast here where they are defined is obvious typedef EgHLTDQMVarCut<OffPho> VarCut; typedef MonElemWithCutEBEE<OffPho,float> MonElemFloat; int stdCutCode = masks.stdPho; histVec.push_back(new MonElemFloat(baseName+"_noCuts",baseName+" NoCuts",nrBins,xMin,xMax,vsVarFunc)); histVec.push_back(new MonElemFloat(baseName+"_allCuts",baseName+" All Cuts",nrBins,xMin,xMax,vsVarFunc, new VarCut(stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_sigmaIEtaIEta",baseName+" N1 #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::SIGMAIETAIETA&stdCutCode,&OffPho::cutCode))); //-----Morse------ /*histVec.push_back(new MonElemFloat(baseName+"_n1_hOverE",baseName+" N1 H/E",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::R9&stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_r9",baseName+" N1 R9",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HADEM &stdCutCode,&OffPho::cutCode)));*/ //--BUG!!!-- histVec.push_back(new MonElemFloat(baseName+"_n1_hOverE",baseName+" N1 H/E",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HADEM&stdCutCode,&OffPho::cutCode)));//---BUG FIX!!-- /*histVec.push_back(new MonElemFloat(baseName+"_n1_minr9",baseName+" N1 MINR9",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::MINR9&stdCutCode,&OffPho::cutCode)));*/ histVec.push_back(new MonElemFloat(baseName+"_n1_maxr9",baseName+" N1 MAXR9",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::MAXR9&stdCutCode,&OffPho::cutCode))); //---------------- histVec.push_back(new MonElemFloat(baseName+"_n1_isolEm",baseName+" N1 Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLEM&stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_isolHad",baseName+" N1 Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLHAD&stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_isolPtTrks",baseName+" N1 Pt Isol Tracks",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLPTTRKS&stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_isolNrTrks",baseName+" N1 Nr Isol Tracks",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLNRTRKS&stdCutCode,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_hOverE",baseName+" Single H/E",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HADEM,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_sigmaIEtaIEta",baseName+" Single #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::SIGMAIETAIETA,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_isolEm",baseName+" Single Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLEM,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_isolHad",baseName+" Single Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLHAD,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_isolPtTrks",baseName+" Single Pt Isol Tracks",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLPTTRKS,&OffPho::cutCode))); /*histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolHad",baseName+" Single HLT Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLHAD,&OffPho::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksPho",baseName+" Single HLT Isol Tracks Pho ",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLTRKSPHO,&OffPho::cutCode)));*/ }
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 90 of file EgHLTMonElemFuncs.cc.
References egHLT::OffEle::cutCode(), egHLT::EgCutCodes::DETAIN, egHLT::EgCutCodes::DPHIIN, egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::HLTISOLEM, egHLT::EgCutCodes::HLTISOLHAD, egHLT::EgCutCodes::HLTISOLTRKSELE, egHLT::EgCutCodes::SIGMAIETAIETA, and egHLT::CutMasks::stdEle.
Referenced by egHLT::EleHLTFilterMon::EleHLTFilterMon(), initStdEffHists(), and egHLT::PhoHLTFilterMon::PhoHLTFilterMon().
{ //some convience typedefs, I hate typedefs but atleast here where they are defined is obvious typedef EgHLTDQMVarCut<OffEle> VarCut; typedef MonElemWithCutEBEE<OffEle,float> MonElemFloat; int stdCutCode = masks.stdEle; //first do the zero and all cuts histograms histVec.push_back(new MonElemFloat(baseName+"_noCuts",baseName+" NoCuts",nrBins,xMin,xMax,vsVarFunc)); histVec.push_back(new MonElemFloat(baseName+"_allCuts",baseName+" All Cuts",nrBins,xMin,xMax,vsVarFunc, new VarCut(stdCutCode,&OffEle::cutCode))); //now for the n-1 histVec.push_back(new MonElemFloat(baseName+"_n1_dEtaIn",baseName+" N1 #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::DETAIN&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_dPhiIn",baseName+" N1 #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::DPHIIN&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_sigmaIEtaIEta",baseName+" N1 #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::SIGMAIETAIETA&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_hOverE",baseName+" N1 H/E",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HADEM &stdCutCode,&OffEle::cutCode))); /* histVec.push_back(new MonElemFloat(baseName+"_n1_isolEm",baseName+" N1 Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLEM&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_isolHad",baseName+" N1 Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLHAD&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_isolPtTrks",baseName+" N1 Isol Tracks",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::ISOLPTTRKS&stdCutCode,&OffEle::cutCode)));*/ histVec.push_back(new MonElemFloat(baseName+"_n1_hltIsolEm",baseName+" N1 HLT Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HLTISOLEM&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_hltIsolHad",baseName+" N1 HLT Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HLTISOLHAD&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_n1_hltIsolTrksEle",baseName+" N1 HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc, new VarCut(~EgCutCodes::HLTISOLTRKSELE&stdCutCode,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_dEtaIn",baseName+" Single #Delta#eta_{in}",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::DETAIN,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_dPhiIn",baseName+" Single #Delta#phi_{in}",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::DPHIIN,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_sigmaIEtaIEta",baseName+" Single #sigma_{i#etai#eta}",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::SIGMAIETAIETA,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_hOverE",baseName+" Single H/E",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HADEM,&OffEle::cutCode))); /* histVec.push_back(new MonElemFloat(baseName+"_single_isolEm",baseName+" Single Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::ISOLEM,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_isolHad",baseName+" Single Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::ISOLHAD,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_isolPtTrks",baseName+" Single Isol Tracks",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::ISOLPTTRKS,&OffEle::cutCode)));*/ histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolEm",baseName+" Single HLT Isol Em",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLEM,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolHad",baseName+" Single HLT Isol Had",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLHAD,&OffEle::cutCode))); histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksEle",baseName+" Single HLT Isol Tracks Ele ",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLTRKSELE,&OffEle::cutCode))); /*histVec.push_back(new MonElemFloat(baseName+"_single_hltIsolTrksPho",baseName+" Single HLT Isol Tracks Pho ",nrBins,xMin,xMax,vsVarFunc, new VarCut(EgCutCodes::HLTISOLTRKSPHO,&OffEle::cutCode)));*/ }
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 85 of file EgHLTMonElemFuncs.cc.
References initStdEffHists(), egHLT::BinData::Data1D::max, egHLT::BinData::Data1D::min, and egHLT::BinData::Data1D::nr.
{ initStdEffHists(histVec,baseName,bins.nr,bins.min,bins.max,vsVarFunc,masks); }
void egHLT::MonElemFuncs::initStdEleCutHists | ( | std::vector< MonElemWithCutBase< OffEle > * > & | histVec, |
const std::string & | baseName, | ||
const BinData & | bins, | ||
EgHLTDQMCut< OffEle > * | cut = NULL |
||
) |
Definition at line 202 of file EgHLTMonElemFuncs.cc.
References egHLT::BinData::charge, egHLT::OffEle::charge(), egHLT::EgHLTDQMCut< T >::clone(), egHLT::OffEle::detEta(), egHLT::OffEle::et(), egHLT::BinData::et, egHLT::BinData::eta, NULL, egHLT::BinData::phi, and egHLT::OffEle::phi().
Referenced by initTrigTagProbeHist(), and initTrigTagProbeHists().
{ histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_et", baseName+" E_{T};E_{T} (GeV)", bins.et.nr,bins.et.min,bins.et.max,&OffEle::et,cut)); histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_eta", baseName+" #eta;#eta", bins.eta.nr,bins.eta.min,bins.eta.max, &OffEle::detEta,cut ? cut->clone(): NULL)); histVec.push_back(new MonElemWithCutEBEE<OffEle,float>(baseName+"_phi", baseName+" #phi;#phi (rad)", bins.phi.nr,bins.phi.min,bins.phi.max, &OffEle::phi,cut ? cut->clone():NULL)); histVec.push_back(new MonElemWithCutEBEE<OffEle,int>(baseName+"_charge", baseName+" Charge; charge", bins.charge.nr,bins.charge.min,bins.charge.max, &OffEle::charge,cut ? cut->clone():NULL)); }
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::OffEle::dEtaIn(), egHLT::BinData::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::OffEle::epOut(), egHLT::OffEle::et(), egHLT::BinData::et, egHLT::BinData::eta, egHLT::BinData::etaVsPhi, egHLT::BinData::etHigh, egHLT::OffEle::etSC(), egHLT::OffEle::hltIsolEm(), egHLT::OffEle::hltIsolHad(), egHLT::OffEle::hltIsolTrksEle(), egHLT::BinData::hOverE, egHLT::OffEle::hOverE(), egHLT::BinData::invEInvP, egHLT::OffEle::invEInvP(), egHLT::BinData::isolEm, egHLT::BinData::isolHad, egHLT::BinData::isolPtTrks, egHLT::BinData::maxr9, egHLT::BinData::phi, egHLT::OffEle::phi(), egHLT::OffEle::r9(), egHLT::BinData::sigEtaEta, and egHLT::OffEle::sigmaIEtaIEta().
Referenced by addTightLooseTrigHist(), and egHLT::EleHLTFilterMon::EleHLTFilterMon().
{ addStdHist<OffEle,float>(histVec,baseName+"_et",baseName+" E_{T};E_{T} (GeV)",bins.et,&OffEle::et); addStdHist<OffEle,float>(histVec,baseName+"_etHigh",baseName+" E_{T};E_{T} (GeV)",bins.etHigh,&OffEle::et); addStdHist<OffEle,float>(histVec,baseName+"_etSC",baseName+" E^{SC}_{T};E^{SC}_{T} (GeV)",bins.et,&OffEle::etSC); addStdHist<OffEle,float>(histVec,baseName+"_eta",baseName+" #eta;#eta",bins.eta,&OffEle::detEta); addStdHist<OffEle,float>(histVec,baseName+"_phi",baseName+" #phi;#phi (rad)",bins.phi,&OffEle::phi); // addStdHist<OffEle,int>(histVec,baseName+"_charge",baseName+" Charge; charge",bins.charge,&OffEle::charge); addStdHist<OffEle,float>(histVec,baseName+"_hOverE",baseName+" H/E; H/E",bins.hOverE,&OffEle::hOverE); //----Morse addStdHist<OffEle,float>(histVec,baseName+"_maxr9",baseName+" MAXR9 ; MAXR9",bins.maxr9,&OffEle::r9); //------- addStdHist<OffEle,float>(histVec,baseName+"_dPhiIn",baseName+" #Delta #phi_{in}; #Delta #phi_{in}",bins.dPhiIn,&OffEle::dPhiIn); addStdHist<OffEle,float>(histVec,baseName+"_dEtaIn",baseName+" #Delta #eta_{in}; #Delta #eta_{in}",bins.dEtaIn,&OffEle::dEtaIn); addStdHist<OffEle,float>(histVec,baseName+"_sigmaIEtaIEta",baseName+"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.sigEtaEta,&OffEle::sigmaIEtaIEta); addStdHist<OffEle,float>(histVec,baseName+"_epIn",baseName+"E/p_{in}; E/p_{in}",bins.eOverP,&OffEle::epIn); addStdHist<OffEle,float>(histVec,baseName+"_epOut",baseName+"E/p_{out}; E/p_{out}",bins.eOverP,&OffEle::epOut); addStdHist<OffEle,float>(histVec,baseName+"_invEInvP",baseName+"1/E -1/p; 1/E - 1/p",bins.invEInvP,&OffEle::invEInvP); addStdHist<OffEle,float>(histVec,baseName+"_e2x5Over5x5",baseName+"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.e2x5,&OffEle::e2x5MaxOver5x5); addStdHist<OffEle,float>(histVec,baseName+"_e1x5Over5x5",baseName+"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.e1x5,&OffEle::e1x5Over5x5); // addStdHist<OffEle,float>(histVec,baseName+"_isolEM",baseName+"Isol EM; Isol EM (GeV)",bins.isolEm,&OffEle::isolEm); //addStdHist<OffEle,float>(histVec,baseName+"_isolHad",baseName+"Isol Had; Isol Had (GeV)",bins.isolHad,&OffEle::isolHad); //addStdHist<OffEle,float>(histVec,baseName+"_isolPtTrks",baseName+"Isol Pt Trks; Isol Pt Tracks (GeV/c)",bins.isolPtTrks,&OffEle::isolPtTrks); addStdHist<OffEle,float>(histVec,baseName+"_hltIsolTrksEle",baseName+"HLT Ele Isol Trks; HLT Ele Iso Tracks (GeV/c)",bins.isolPtTrks,&OffEle::hltIsolTrksEle); //addStdHist<OffEle,float>(histVec,baseName+"_hltIsolTrksPho",baseName+"HLT Pho Isol Trks; HLT Pho Iso Tracks (GeV/c)",bins.isolPtTrks,&OffEle::hltIsolTrksPho); addStdHist<OffEle,float>(histVec,baseName+"_hltIsolHad",baseName+"HLT Isol Had; HLT Isol Had (GeV)",bins.isolHad,&OffEle::hltIsolHad); addStdHist<OffEle,float>(histVec,baseName+"_hltIsolEm",baseName+"HLT Isol Em; HLT Isol Em (GeV)",bins.isolEm,&OffEle::hltIsolEm); histVec.push_back(new MonElemManager2D<OffEle,float,float>(baseName+"_etaVsPhi", baseName+" #eta vs #phi;#eta;#phi (rad)", bins.etaVsPhi.nrX,bins.etaVsPhi.xMin,bins.etaVsPhi.xMax, bins.etaVsPhi.nrY,bins.etaVsPhi.yMin,bins.etaVsPhi.yMax, &OffEle::detEta,&OffEle::phi)); }
void egHLT::MonElemFuncs::initStdPhoHists | ( | std::vector< MonElemManagerBase< OffPho > * > & | histVec, |
const std::string & | baseName, | ||
const BinData & | bins | ||
) |
Definition at line 49 of file EgHLTMonElemFuncs.cc.
References egHLT::OffPho::detEta(), egHLT::BinData::e1x5, egHLT::OffPho::e1x5Over5x5(), egHLT::BinData::e2x5, egHLT::OffPho::e2x5MaxOver5x5(), egHLT::OffPho::et(), egHLT::BinData::et, egHLT::BinData::eta, egHLT::BinData::etaVsPhi, egHLT::BinData::etHigh, egHLT::OffPho::etSC(), egHLT::BinData::hOverE, egHLT::OffPho::hOverE(), egHLT::OffPho::isolEm(), egHLT::BinData::isolEm, egHLT::OffPho::isolHad(), egHLT::BinData::isolHad, egHLT::BinData::isolNrTrks, egHLT::OffPho::isolNrTrks(), egHLT::OffPho::isolPtTrks(), egHLT::BinData::isolPtTrks, egHLT::BinData::maxr9, egHLT::OffPho::phi(), egHLT::BinData::phi, egHLT::OffPho::r9(), egHLT::BinData::sigEtaEta, and egHLT::OffPho::sigmaIEtaIEta().
Referenced by addTightLooseTrigHist(), and egHLT::PhoHLTFilterMon::PhoHLTFilterMon().
{ addStdHist<OffPho,float>(histVec,baseName+"_et",baseName+" E_{T};E_{T} (GeV)",bins.et,&OffPho::et); addStdHist<OffPho,float>(histVec,baseName+"_etHigh",baseName+" E_{T};E_{T} (GeV)",bins.etHigh,&OffPho::et); addStdHist<OffPho,float>(histVec,baseName+"_etSC",baseName+" E^{SC}_{T};E^{SC}_{T} (GeV)",bins.et,&OffPho::etSC); addStdHist<OffPho,float>(histVec,baseName+"_eta",baseName+" #eta;#eta",bins.eta,&OffPho::detEta); addStdHist<OffPho,float>(histVec,baseName+"_phi",baseName+" #phi;#phi (rad)",bins.phi,&OffPho::phi); addStdHist<OffPho,float>(histVec,baseName+"_hOverE",baseName+" H/E; H/E",bins.hOverE,&OffPho::hOverE); //----Morse //addStdHist<OffPho,float>(histVec,baseName+"_r9",baseName+" R9 ; R9",bins.r9,&OffPho::r9); //addStdHist<OffPho,float>(histVec,baseName+"_minr9",baseName+" MINR9 ; MINR9",bins.minr9,&OffPho::r9); addStdHist<OffPho,float>(histVec,baseName+"_maxr9",baseName+" MAXR9 ; MAXR9",bins.maxr9,&OffPho::r9); //------- addStdHist<OffPho,float>(histVec,baseName+"_sigmaIEtaIEta",baseName+"#sigma_{i#etai#eta}; #sigma_{i#etai#eta}",bins.sigEtaEta,&OffPho::sigmaIEtaIEta); addStdHist<OffPho,float>(histVec,baseName+"_e2x5Over5x5",baseName+"E^{2x5}/E^{5x5}; E^{2x5}/E^{5x5}",bins.e2x5,&OffPho::e2x5MaxOver5x5); addStdHist<OffPho,float>(histVec,baseName+"_e1x5Over5x5",baseName+"E^{1x5}/E^{5x5}; E^{1x5}/E^{5x5}",bins.e1x5,&OffPho::e1x5Over5x5); addStdHist<OffPho,float>(histVec,baseName+"_isolEM",baseName+"Isol EM; Isol EM (GeV)",bins.isolEm,&OffPho::isolEm); addStdHist<OffPho,float>(histVec,baseName+"_isolHad",baseName+"Isol Had; Isol Had (GeV)",bins.isolHad,&OffPho::isolHad); addStdHist<OffPho,float>(histVec,baseName+"_isolPtTrks",baseName+"Isol Pt Trks; Isol Pt Tracks (GeV/c)",bins.isolPtTrks,&OffPho::isolPtTrks); addStdHist<OffPho,int>(histVec,baseName+"_isolNrTrks",baseName+"Isol Nr Trks; Isol Nr Tracks",bins.isolNrTrks,&OffPho::isolNrTrks); // addStdHist<OffPho,float>(histVec,baseName+"_hltIsolTrks",baseName+"HLT Isol Trks; HLT Iso Tracks (GeV/c)",bins.isolPtTrks,&OffPho::hltIsolTrks); //addStdHist<OffPho,float>(histVec,baseName+"_hltIsolHad",baseName+"HLT Isol Had; HLT Isol Had (GeV)",bins.isolPtTrks,&OffPho::hltIsolHad); histVec.push_back(new MonElemManager2D<OffPho,float,float>(baseName+"_etaVsPhi", baseName+" #eta vs #phi;#eta;#phi (rad)", bins.etaVsPhi.nrX,bins.etaVsPhi.xMin,bins.etaVsPhi.xMax, bins.etaVsPhi.nrY,bins.etaVsPhi.yMin,bins.etaVsPhi.yMax, &OffPho::detEta,&OffPho::phi)); }
void egHLT::MonElemFuncs::initTightLooseDiObjTrigHistsTrigCuts | ( | std::vector< MonElemContainer< OffPho > * > & | phoMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins | ||
) |
Definition at line 359 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffPho::trigCutsCutCode().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; EgHLTDQMCut<OffPho>* phoCut = new EgDiPhoUserCut<TrigCodes::TrigBitSet>(&OffPho::trigCutsCutCode,TrigCodes::getCode(tightTrig)); addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho_trigCuts",bins); } }
void egHLT::MonElemFuncs::initTightLooseDiObjTrigHistsTrigCuts | ( | std::vector< MonElemContainer< OffEle > * > & | eleMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins | ||
) |
Definition at line 344 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffEle::trigCutsCutCode().
Referenced by EgHLTOfflineSource::beginRun().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; EgHLTDQMCut<OffEle>* eleCut = new EgDiEleUserCut<TrigCodes::TrigBitSet>(&OffEle::trigCutsCutCode,TrigCodes::getCode(tightTrig)); addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle_trigCuts",bins); } }
void egHLT::MonElemFuncs::initTightLooseTrigHists | ( | std::vector< MonElemContainer< OffEle > * > & | eleMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins, | ||
EgHLTDQMCut< OffEle > * | eleCut | ||
) |
Definition at line 224 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::EgHLTDQMCut< T >::clone(), split, and splitString().
Referenced by EgHLTOfflineSource::beginRun().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; //this step is necessary as we want to transfer ownership of eleCut to the addTrigLooseTrigHist func on the last iteration //but clone it before that //perhaps my object ownership rules need to be re-evalulated if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut->clone(),"gsfEle",bins); else addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle",bins); } }
void egHLT::MonElemFuncs::initTightLooseTrigHists | ( | std::vector< MonElemContainer< OffPho > * > & | phoMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins, | ||
EgHLTDQMCut< OffPho > * | phoCut | ||
) |
Definition at line 241 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::EgHLTDQMCut< T >::clone(), split, and splitString().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; //this step is necessary as we want to transfer ownership of phoCut to the addTrigLooseTrigHist func on the last iteration //but clone it before that //perhaps my object ownership rules need to be re-evalulated if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut->clone(),"pho",bins); else addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho",bins); } }
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 104 of file EgHLTMonElemFuncs.h.
References addTightLooseTrigHist(), split, and splitString().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; //this step is necessary as we want to transfer ownership of eleCut to the addTrigLooseTrigHist func on the last iteration //but clone it before that //perhaps my object ownership rules need to be re-evalulated if(trigNr!=tightLooseTrigs.size()-2) addTightLooseTrigHist(monElems,tightTrig,looseTrig,objName,bins); else addTightLooseTrigHist(monElems,tightTrig,looseTrig,objName,bins); } }
void egHLT::MonElemFuncs::initTightLooseTrigHistsTrigCuts | ( | std::vector< MonElemContainer< OffEle > * > & | eleMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins | ||
) |
Definition at line 315 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffEle::trigCutsCutCode().
Referenced by EgHLTOfflineSource::beginRun().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; EgHLTDQMCut<OffEle>* eleCut = new EgHLTDQMUserVarCut<OffEle,TrigCodes::TrigBitSet>(&OffEle::trigCutsCutCode,TrigCodes::getCode(tightTrig)); addTightLooseTrigHist(eleMonElems,tightTrig,looseTrig,eleCut,"gsfEle_trigCuts",bins); } }
void egHLT::MonElemFuncs::initTightLooseTrigHistsTrigCuts | ( | std::vector< MonElemContainer< OffPho > * > & | phoMonElems, |
const std::vector< std::string > & | tightLooseTrigs, | ||
const BinData & | bins | ||
) |
Definition at line 329 of file EgHLTMonElemFuncs.cc.
References addTightLooseTrigHist(), egHLT::TrigCodes::getCode(), split, splitString(), and egHLT::OffPho::trigCutsCutCode().
{ for(size_t trigNr=0;trigNr<tightLooseTrigs.size();trigNr++){ std::vector<std::string> splitString; boost::split(splitString,tightLooseTrigs[trigNr],boost::is_any_of(std::string(":"))); if(splitString.size()!=2) continue; //format incorrect const std::string& tightTrig = splitString[0]; const std::string& looseTrig = splitString[1]; EgHLTDQMCut<OffPho>* phoCut = new EgHLTDQMUserVarCut<OffPho,TrigCodes::TrigBitSet>(&OffPho::trigCutsCutCode,TrigCodes::getCode(tightTrig)); addTightLooseTrigHist(phoMonElems,tightTrig,looseTrig,phoCut,"pho_trigCuts",bins); } }
void egHLT::MonElemFuncs::initTrigTagProbeHist | ( | std::vector< MonElemContainer< OffEle > * > & | eleMonElems, |
const std::string | filterName, | ||
int | cutMask, | ||
const BinData & | bins | ||
) |
Definition at line 395 of file EgHLTMonElemFuncs.cc.
References egHLT::OffEle::cutCode(), egHLT::MonElemContainer< T >::cutMonElems(), egHLT::OffEle::etSC(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getEtThresFromName(), initStdEleCutHists(), and egHLT::MonElemContainer< T >::name().
Referenced by EgHLTOfflineSource::beginRun().
{ float etCutValue = trigTools::getEtThresFromName(filterName); //float etCutValue = 0; MonElemContainer<OffEle>* monElemCont = new MonElemContainer<OffEle>("trigTagProbe","Trigger Tag and Probe",new EgTrigTagProbeCut(TrigCodes::getCode(filterName),cutMask,&OffEle::cutCode)); MonElemFuncs::initStdEleCutHists(monElemCont->cutMonElems(),filterName+"_"+monElemCont->name()+"_gsfEle_all",bins,new EgGreaterCut<OffEle,float>(etCutValue,&OffEle::etSC)); MonElemFuncs::initStdEleCutHists(monElemCont->cutMonElems(),filterName+"_"+monElemCont->name()+"_gsfEle_pass",bins,&(*(new EgMultiCut<OffEle>) << new EgGreaterCut<OffEle,float>(etCutValue,&OffEle::etSC) << new EgObjTrigCut<OffEle>(TrigCodes::getCode(filterName),EgObjTrigCut<OffEle>::AND))); /* monElemCont->monElems().push_back(new MonElemMgrEBEE<OffEle,float>(filterName+"_"+monElemCont->name()+"_gsfEle_all_etUnCut",monElemCont->name()+"_gsfEle_all E_{T} (Uncut);E_{T} (GeV)", bins.et.nr,bins.et.min,bins.et.max,&OffEle::et)); monElemCont->cutMonElems().push_back(new MonElemWithCutEBEE<OffEle,float>(filterName+"_"+monElemCont->name()+"_gsfEle_pass_etUnCut",monElemCont->name()+"_gsfEle_pass E_{T} (Uncut);E_{T} (GeV)", bins.et.nr,bins.et.min,bins.et.max,&OffEle::et,new EgObjTrigCut<OffEle>(TrigCodes::getCode(filterName),EgObjTrigCut<OffEle>::AND)));*/ eleMonElems.push_back(monElemCont); }
void egHLT::MonElemFuncs::initTrigTagProbeHists | ( | std::vector< MonElemContainer< OffEle > * > & | eleMonElems, |
const std::vector< std::string > | filterNames, | ||
int | cutMask, | ||
const BinData & | bins | ||
) |
Definition at line 377 of file EgHLTMonElemFuncs.cc.
References egHLT::OffEle::cutCode(), egHLT::MonElemContainer< T >::cutMonElems(), egHLT::OffEle::et(), egHLT::BinData::et, egHLT::OffEle::etSC(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getEtThresFromName(), initStdEleCutHists(), egHLT::MonElemContainer< T >::monElems(), and egHLT::MonElemContainer< T >::name().
{ for(size_t filterNr=0;filterNr<filterNames.size();filterNr++){ std::string trigName(filterNames[filterNr]); float etCutValue = trigTools::getEtThresFromName(trigName); MonElemContainer<OffEle>* monElemCont = new MonElemContainer<OffEle>("trigTagProbe","Trigger Tag and Probe",new EgTrigTagProbeCut(TrigCodes::getCode(trigName),cutMask,&OffEle::cutCode)); MonElemFuncs::initStdEleCutHists(monElemCont->cutMonElems(),trigName+"_"+monElemCont->name()+"_gsfEle_all",bins,new EgGreaterCut<OffEle,float>(etCutValue,&OffEle::etSC)); 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))); monElemCont->monElems().push_back(new MonElemMgrEBEE<OffEle,float>(trigName+"_"+monElemCont->name()+"_gsfEle_all_etUnCut",monElemCont->name()+"_gsfEle_all E_{T} (Uncut);E_{T} (GeV)", bins.et.nr,bins.et.min,bins.et.max,&OffEle::et)); monElemCont->cutMonElems().push_back(new MonElemWithCutEBEE<OffEle,float>(trigName+"_"+monElemCont->name()+"_gsfEle_pass_etUnCut",monElemCont->name()+"_gsfEle_pass E_{T} (Uncut);E_{T} (GeV)", bins.et.nr,bins.et.min,bins.et.max,&OffEle::et,new EgObjTrigCut<OffEle>(TrigCodes::getCode(trigName),EgObjTrigCut<OffEle>::AND))); eleMonElems.push_back(monElemCont); } //end filter names loop }