![]() |
![]() |
#include <EgHLTPhoHLTFilterMon.h>
Definition at line 39 of file EgHLTPhoHLTFilterMon.h.
egHLT::PhoHLTFilterMon::PhoHLTFilterMon | ( | const PhoHLTFilterMon & | ) | [inline, private] |
Definition at line 72 of file EgHLTPhoHLTFilterMon.h.
{}
PhoHLTFilterMon::PhoHLTFilterMon | ( | const std::string & | filterName, |
TrigCodes::TrigBitSet | filterBit, | ||
const BinData & | bins, | ||
const CutMasks & | masks | ||
) |
Definition at line 14 of file EgHLTPhoHLTFilterMon.cc.
References diPhoMassBothHighME_, diPhoMassBothME_, diPhoMassOnlyOneHighME_, diPhoMassOnlyOneME_, egHLT::OffPho::et(), egHLT::BinData::et, egHLT::BinData::eta, egHLT::OffPho::eta(), filterName_, i, egHLT::MonElemFuncs::initStdEffHists(), egHLT::MonElemFuncs::initStdPhoHists(), egHLT::BinData::mass, egHLT::BinData::massHigh, mergeVDriftHistosByStation::name, phoEffHists_, phoFailMonElems_, and phoMonElems_.
: filterName_(filterName), filterBit_(filterBit) { bool monHLTFailedPho=false; phoMonElems_.push_back(new MonElemContainer<OffPho>()); //phoMonElems_.push_back(new MonElemContainer<OffPho>("_cut"," cut, debug hists ",new EgHLTDQMVarCut<OffPho>(~0x0,&OffPho::cutCode))); for(size_t i=0;i<phoMonElems_.size();i++){ MonElemFuncs::initStdPhoHists(phoMonElems_[i]->monElems(),filterName_+"_pho_passFilter"+phoMonElems_[i]->name(),bins); } if(monHLTFailedPho) phoFailMonElems_.push_back(new MonElemContainer<OffPho>()); for(size_t i=0;i<phoFailMonElems_.size();i++){ MonElemFuncs::initStdPhoHists(phoFailMonElems_[i]->monElems(),filterName_+"_pho_failFilter"+phoMonElems_[i]->name(),bins); } phoEffHists_.push_back(new MonElemContainer<OffPho>()); // phoEffHists_.push_back(new MonElemContainer<OffPho>("_jetTag"," Tag and Probe ",new EgJetB2BCut<OffPho>(-M_PI/12,M_PI/12,0.3))); for(size_t i=0;i<phoEffHists_.size();i++){ MonElemFuncs::initStdEffHists(phoEffHists_[i]->cutMonElems(), filterName_+"_pho_effVsEt"+phoEffHists_[i]->name(),bins.et,&OffPho::et,masks); MonElemFuncs::initStdEffHists(phoEffHists_[i]->cutMonElems(), filterName_+"_pho_effVsEta"+phoEffHists_[i]->name(),bins.eta,&OffPho::eta,masks); /* MonElemFuncs::initStdEffHists(phoEffHists_[i]->cutMonElems(), filterName_+"_pho_effVsPhi"+phoEffHists_[i]->name(),bins.phi,&OffPho::phi,masks);*/ } typedef MonElemManager<ParticlePair<OffPho>,float > DiPhoMon; diPhoMassBothME_ = new DiPhoMon(filterName_+"_diPho_bothPassFilter_mass", filterName_+"_diPho_bothPassFilter Mass;M_{#gamma#gamma} (GeV/c^{2})", bins.mass.nr,bins.mass.min,bins.mass.max,&ParticlePair<OffPho>::mass); diPhoMassOnlyOneME_ = new DiPhoMon(filterName_+"_diPho_onlyOnePassFilter_mass", filterName_+"_diPho_onlyOnePassFilter Mass;M_{#gamma#gamma} (GeV/c^{2})", bins.mass.nr,bins.mass.min,bins.mass.max,&ParticlePair<OffPho>::mass); diPhoMassBothHighME_ = new DiPhoMon(filterName_+"_diPho_bothPassFilter_massHigh", filterName_+"_diPho_bothPassFilter Mass;M_{#gamma#gamma} (GeV/c^{2})", bins.massHigh.nr,bins.massHigh.min,bins.massHigh.max,&ParticlePair<OffPho>::mass); diPhoMassOnlyOneHighME_ = new DiPhoMon(filterName_+"_diPho_onlyOnePassFilter_massHigh", filterName_+"_diPho_onlyOnePassFilter Mass;M_{#gamma#gamma} (GeV/c^{2})", bins.massHigh.nr,bins.massHigh.min,bins.massHigh.max,&ParticlePair<OffPho>::mass); }
PhoHLTFilterMon::~PhoHLTFilterMon | ( | ) |
Definition at line 58 of file EgHLTPhoHLTFilterMon.cc.
References diPhoMassBothHighME_, diPhoMassBothME_, diPhoMassOnlyOneHighME_, diPhoMassOnlyOneME_, i, phoEffHists_, phoFailMonElems_, and phoMonElems_.
{ for(size_t i=0;i<phoMonElems_.size();i++) delete phoMonElems_[i]; for(size_t i=0;i<phoFailMonElems_.size();i++) delete phoFailMonElems_[i]; for(size_t i=0;i<phoEffHists_.size();i++) delete phoEffHists_[i]; delete diPhoMassBothME_; delete diPhoMassOnlyOneME_; delete diPhoMassBothHighME_; delete diPhoMassOnlyOneHighME_; }
void PhoHLTFilterMon::fill | ( | const OffEvt & | evt, |
float | weight | ||
) |
Definition at line 70 of file EgHLTPhoHLTFilterMon.cc.
References diPhoMassBothME_, diPhoMassOnlyOneME_, egHLT::OffEvt::evtTrigBits(), egHLT::MonElemManagerBase< T >::fill(), filterBit_, phoEffHists_, phoFailMonElems_, phoMonElems_, egHLT::OffEvt::phos(), and egHLT::OffPho::trigBits().
{ for(size_t phoNr=0;phoNr<evt.phos().size();phoNr++){ const OffPho& pho = evt.phos()[phoNr]; if((pho.trigBits()&filterBit_)!=0){ //pho passes for(size_t monElemNr=0;monElemNr<phoMonElems_.size();monElemNr++) phoMonElems_[monElemNr]->fill(pho,evt,weight); for(size_t monElemNr=0;monElemNr<phoEffHists_.size();monElemNr++) phoEffHists_[monElemNr]->fill(pho,evt,weight); }else { //pho didnt pass trigger for(size_t monElemNr=0;monElemNr<phoFailMonElems_.size();monElemNr++) phoFailMonElems_[monElemNr]->fill(pho,evt,weight); } }//end loop over photons if((evt.evtTrigBits()&filterBit_)!=0){ for(size_t pho1Nr=0;pho1Nr<evt.phos().size();pho1Nr++){ for(size_t pho2Nr=pho1Nr+1;pho2Nr<evt.phos().size();pho2Nr++){ const OffPho& pho1 = evt.phos()[pho1Nr]; const OffPho& pho2 = evt.phos()[pho2Nr]; if((pho1.trigBits()&pho2.trigBits()&filterBit_)==filterBit_) diPhoMassBothME_->fill(ParticlePair<OffPho>(pho1,pho2),weight); else if((pho1.trigBits()&filterBit_)==filterBit_ || (pho2.trigBits()&filterBit_)==filterBit_){ diPhoMassOnlyOneME_->fill(ParticlePair<OffPho>(pho1,pho2),weight); } }//end inner pho loop }//end outer pho loop }//end check if filter is present }
const std::string& egHLT::PhoHLTFilterMon::filterName | ( | ) | const [inline] |
Definition at line 84 of file EgHLTPhoHLTFilterMon.h.
References filterName_.
Referenced by egHLT::PhoHLTFilterMon::ptrCompStr::operator()().
{return filterName_;}
bool egHLT::PhoHLTFilterMon::operator< | ( | const PhoHLTFilterMon & | rhs | ) | const [inline] |
Definition at line 82 of file EgHLTPhoHLTFilterMon.h.
References filterName_.
{return filterName_<rhs.filterName_;}
PhoHLTFilterMon& egHLT::PhoHLTFilterMon::operator= | ( | const PhoHLTFilterMon & | ) | [inline, private] |
Definition at line 73 of file EgHLTPhoHLTFilterMon.h.
{return *this;}
Definition at line 68 of file EgHLTPhoHLTFilterMon.h.
Referenced by PhoHLTFilterMon(), and ~PhoHLTFilterMon().
Definition at line 66 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill(), PhoHLTFilterMon(), and ~PhoHLTFilterMon().
MonElemManagerBase<ParticlePair<OffPho> >* egHLT::PhoHLTFilterMon::diPhoMassOnlyOneHighME_ [private] |
Definition at line 69 of file EgHLTPhoHLTFilterMon.h.
Referenced by PhoHLTFilterMon(), and ~PhoHLTFilterMon().
Definition at line 67 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill(), PhoHLTFilterMon(), and ~PhoHLTFilterMon().
const TrigCodes::TrigBitSet egHLT::PhoHLTFilterMon::filterBit_ [private] |
Definition at line 57 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill().
std::string egHLT::PhoHLTFilterMon::filterName_ [private] |
Definition at line 56 of file EgHLTPhoHLTFilterMon.h.
Referenced by filterName(), operator<(), and PhoHLTFilterMon().
std::vector<MonElemContainer<OffPho>*> egHLT::PhoHLTFilterMon::phoEffHists_ [private] |
Definition at line 61 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill(), PhoHLTFilterMon(), and ~PhoHLTFilterMon().
std::vector<MonElemContainer<OffPho>*> egHLT::PhoHLTFilterMon::phoFailMonElems_ [private] |
Definition at line 63 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill(), PhoHLTFilterMon(), and ~PhoHLTFilterMon().
std::vector<MonElemContainer<OffPho>*> egHLT::PhoHLTFilterMon::phoMonElems_ [private] |
Definition at line 62 of file EgHLTPhoHLTFilterMon.h.
Referenced by fill(), PhoHLTFilterMon(), and ~PhoHLTFilterMon().
std::vector<MonElemManagerBase<trigger::TriggerObject>*> egHLT::PhoHLTFilterMon::trigMonElems_ [private] |
Definition at line 60 of file EgHLTPhoHLTFilterMon.h.