![]() |
![]() |
#include <EgHLTEleHLTFilterMon.h>
Definition at line 39 of file EgHLTEleHLTFilterMon.h.
egHLT::EleHLTFilterMon::EleHLTFilterMon | ( | const EleHLTFilterMon & | ) | [inline, private] |
Definition at line 75 of file EgHLTEleHLTFilterMon.h.
{}
EleHLTFilterMon::EleHLTFilterMon | ( | const std::string & | filterName, |
TrigCodes::TrigBitSet | filterBit, | ||
const BinData & | bins, | ||
const CutMasks & | masks | ||
) |
Definition at line 14 of file EgHLTEleHLTFilterMon.cc.
References egHLT::OffEle::cutCode(), diEleMassBothHighME_, diEleMassBothME_, diEleMassOnlyOneHighME_, diEleMassOnlyOneME_, eleEffHists_, eleFailMonElems_, eleMonElems_, egHLT::OffEle::et(), egHLT::BinData::et, egHLT::OffEle::eta(), egHLT::BinData::eta, egHLT::CutMasks::fakeEle, filterName_, i, egHLT::MonElemFuncs::initStdEffHists(), egHLT::MonElemFuncs::initStdEleHists(), egHLT::OffEle::looseCutCode(), egHLT::BinData::mass, egHLT::BinData::massHigh, mergeVDriftHistosByStation::name, egHLT::CutMasks::probeEle, and egHLT::CutMasks::stdEle.
: filterName_(filterName), filterBit_(filterBit) { bool doChargeSep = false; bool monHLTFailedEle = false; bool doFakeRate=false; bool doTagAndProbe=false; eleMonElems_.push_back(new MonElemContainer<OffEle>()); //---Morse------- //eleMonElems_.push_back(new MonElemContainer<OffEle>("_cut"," cut, debug hists ",new EgHLTDQMVarCut<OffEle>(~0x0,&OffEle::cutCode))); //----------------- if(doChargeSep){ eleMonElems_.push_back(new MonElemContainer<OffEle>("_posCharge"," q=+1 ",new ChargeCut<OffEle>(1))); eleMonElems_.push_back(new MonElemContainer<OffEle>("_negCharge"," q=-1 ",new ChargeCut<OffEle>(-1))); } for(size_t i=0;i<eleMonElems_.size();i++){ MonElemFuncs::initStdEleHists(eleMonElems_[i]->monElems(),filterName_+"_gsfEle_passFilter"+eleMonElems_[i]->name(),bins); } if(monHLTFailedEle){ eleFailMonElems_.push_back(new MonElemContainer<OffEle>()); if(doChargeSep) { eleFailMonElems_.push_back(new MonElemContainer<OffEle>("_posCharge"," q=+1 ",new ChargeCut<OffEle>(1))); eleFailMonElems_.push_back(new MonElemContainer<OffEle>("_negCharge"," q=-1 ",new ChargeCut<OffEle>(-1))); } } for(size_t i=0;i<eleFailMonElems_.size();i++){ MonElemFuncs::initStdEleHists(eleFailMonElems_[i]->monElems(),filterName_+"_gsfEle_failFilter"+eleMonElems_[i]->name(),bins); } int effProbeCutCode = masks.probeEle; int effTagCutCode = masks.stdEle; int fakeRateProbeCut = masks.fakeEle; eleEffHists_.push_back(new MonElemContainer<OffEle>()); if(doTagAndProbe) eleEffHists_.push_back(new MonElemContainer<OffEle>("_tagProbe"," Tag and Probe ",new EgTagProbeCut<OffEle>(effProbeCutCode,&OffEle::cutCode,effTagCutCode,&OffEle::cutCode))); if(doFakeRate) eleEffHists_.push_back(new MonElemContainer<OffEle>("_fakeRate"," Fake Rate ",new EgJetTagProbeCut<OffEle>(fakeRateProbeCut,&OffEle::looseCutCode))); for(size_t i=0;i<eleEffHists_.size();i++){ MonElemFuncs::initStdEffHists(eleEffHists_[i]->cutMonElems(), filterName_+"_gsfEle_effVsEt"+eleEffHists_[i]->name(),bins.et,&OffEle::et,masks); MonElemFuncs::initStdEffHists(eleEffHists_[i]->cutMonElems(), filterName_+"_gsfEle_effVsEta"+eleEffHists_[i]->name(),bins.eta,&OffEle::eta,masks); /* MonElemFuncs::initStdEffHists(eleEffHists_[i]->cutMonElems(), filterName_+"_gsfEle_effVsPhi"+eleEffHists_[i]->name(),bins.phi,&OffEle::phi,masks); */ // MonElemFuncs::initStdEffHists(eleEffHists_[i]->cutMonElems(), // filterName_+"_gsfEle_effVsCharge"+eleEffHists_[i]->name(),bins.charge,&OffEle::chargeF); } typedef MonElemManager<ParticlePair<OffEle>,float > DiEleMon; diEleMassBothME_ = new DiEleMon(filterName_+"_diEle_bothPassFilter_mass", filterName_+"_diEle_bothPassFilter Mass;M_{ee} (GeV/c^{2})", bins.mass.nr,bins.mass.min,bins.mass.max,&ParticlePair<OffEle>::mass); diEleMassOnlyOneME_ = new DiEleMon(filterName_+"_diEle_onlyOnePass Filter_mass", filterName_+"_diEle_onlyOnePassFilter Mass;M_{ee} (GeV/c^{2})", bins.mass.nr,bins.mass.min,bins.mass.max,&ParticlePair<OffEle>::mass); diEleMassBothHighME_ = new DiEleMon(filterName_+"_diEle_bothPassFilter_massHigh", filterName_+"_diEle_bothPassFilter Mass;M_{ee} (GeV/c^{2})", bins.massHigh.nr,bins.massHigh.min,bins.massHigh.max,&ParticlePair<OffEle>::mass); diEleMassOnlyOneHighME_ = new DiEleMon(filterName_+"_diEle_onlyOnePassFilter_massHigh", filterName_+"_diEle_onlyOnePassFilter Mass;M_{ee} (GeV/c^{2})", bins.massHigh.nr,bins.massHigh.min,bins.massHigh.max,&ParticlePair<OffEle>::mass); }
EleHLTFilterMon::~EleHLTFilterMon | ( | ) |
Definition at line 81 of file EgHLTEleHLTFilterMon.cc.
References diEleMassBothHighME_, diEleMassBothME_, diEleMassOnlyOneHighME_, diEleMassOnlyOneME_, eleEffHists_, eleFailMonElems_, eleMonElems_, and i.
{ for(size_t i=0;i<eleMonElems_.size();i++) delete eleMonElems_[i]; for(size_t i=0;i<eleFailMonElems_.size();i++) delete eleFailMonElems_[i]; for(size_t i=0;i<eleEffHists_.size();i++) delete eleEffHists_[i]; delete diEleMassBothME_; delete diEleMassOnlyOneME_; delete diEleMassBothHighME_; delete diEleMassOnlyOneHighME_; }
void EleHLTFilterMon::fill | ( | const OffEvt & | evt, |
float | weight | ||
) |
Definition at line 93 of file EgHLTEleHLTFilterMon.cc.
References diEleMassBothHighME_, diEleMassBothME_, diEleMassOnlyOneHighME_, diEleMassOnlyOneME_, eleEffHists_, eleFailMonElems_, eleMonElems_, egHLT::OffEvt::eles(), egHLT::OffEvt::evtTrigBits(), egHLT::MonElemManagerBase< T >::fill(), filterBit_, and egHLT::OffEle::trigBits().
{ for(size_t eleNr=0;eleNr<evt.eles().size();eleNr++){ const OffEle& ele = evt.eles()[eleNr]; if((ele.trigBits()&filterBit_)!=0){ //ele passes for(size_t monElemNr=0;monElemNr<eleMonElems_.size();monElemNr++) eleMonElems_[monElemNr]->fill(ele,evt,weight); for(size_t monElemNr=0;monElemNr<eleEffHists_.size();monElemNr++) eleEffHists_[monElemNr]->fill(ele,evt,weight); }else { //ele didnt pass trigger for(size_t monElemNr=0;monElemNr<eleFailMonElems_.size();monElemNr++) eleFailMonElems_[monElemNr]->fill(ele,evt,weight); } }//end loop over electrons if((evt.evtTrigBits()&filterBit_)!=0){ for(size_t ele1Nr=0;ele1Nr<evt.eles().size();ele1Nr++){ for(size_t ele2Nr=ele1Nr+1;ele2Nr<evt.eles().size();ele2Nr++){ const OffEle& ele1 = evt.eles()[ele1Nr]; const OffEle& ele2 = evt.eles()[ele2Nr]; if((ele1.trigBits()&ele2.trigBits()&filterBit_)==filterBit_) { diEleMassBothME_->fill(ParticlePair<OffEle>(ele1,ele2),weight); diEleMassBothHighME_->fill(ParticlePair<OffEle>(ele1,ele2),weight); }else if((ele1.trigBits()&filterBit_)==filterBit_ || (ele2.trigBits()&filterBit_)==filterBit_){ diEleMassOnlyOneME_->fill(ParticlePair<OffEle>(ele1,ele2),weight); diEleMassOnlyOneHighME_->fill(ParticlePair<OffEle>(ele1,ele2),weight); } }//end inner ele loop }//end outer ele loop }//end check if filter is present }
const std::string& egHLT::EleHLTFilterMon::filterName | ( | ) | const [inline] |
Definition at line 87 of file EgHLTEleHLTFilterMon.h.
References filterName_.
Referenced by egHLT::EleHLTFilterMon::ptrCompStr::operator()().
{return filterName_;}
bool egHLT::EleHLTFilterMon::operator< | ( | const EleHLTFilterMon & | rhs | ) | const [inline] |
Definition at line 85 of file EgHLTEleHLTFilterMon.h.
References filterName_.
{return filterName_<rhs.filterName_;}
EleHLTFilterMon& egHLT::EleHLTFilterMon::operator= | ( | const EleHLTFilterMon & | ) | [inline, private] |
Definition at line 76 of file EgHLTEleHLTFilterMon.h.
{return *this;}
Definition at line 71 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
Definition at line 69 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
MonElemManagerBase<ParticlePair<OffEle> >* egHLT::EleHLTFilterMon::diEleMassOnlyOneHighME_ [private] |
Definition at line 72 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
Definition at line 70 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
std::vector<MonElemContainer<OffEle>*> egHLT::EleHLTFilterMon::eleEffHists_ [private] |
Definition at line 64 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
std::vector<MonElemContainer<OffEle>*> egHLT::EleHLTFilterMon::eleFailMonElems_ [private] |
Definition at line 66 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
std::vector<MonElemContainer<OffEle>*> egHLT::EleHLTFilterMon::eleMonElems_ [private] |
Definition at line 65 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), fill(), and ~EleHLTFilterMon().
const TrigCodes::TrigBitSet egHLT::EleHLTFilterMon::filterBit_ [private] |
Definition at line 57 of file EgHLTEleHLTFilterMon.h.
Referenced by fill().
std::string egHLT::EleHLTFilterMon::filterName_ [private] |
Definition at line 56 of file EgHLTEleHLTFilterMon.h.
Referenced by EleHLTFilterMon(), filterName(), and operator<().
std::vector<MonElemManagerBase<trigger::TriggerObject>*> egHLT::EleHLTFilterMon::trigMonElems_ [private] |
Definition at line 61 of file EgHLTEleHLTFilterMon.h.