![]() |
![]() |
#include <HLTEgammaEtFilterPairs.h>
Public Member Functions | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) |
HLTEgammaEtFilterPairs (const edm::ParameterSet &) | |
~HLTEgammaEtFilterPairs () | |
Private Attributes | |
double | etcutEB1_ |
double | etcutEB2_ |
double | etcutEE1_ |
double | etcutEE2_ |
edm::InputTag | inputTag_ |
edm::InputTag | L1IsoCollTag_ |
edm::InputTag | L1NonIsoCollTag_ |
bool | relaxed_ |
bool | store_ |
Definition at line 16 of file HLTEgammaEtFilterPairs.h.
HLTEgammaEtFilterPairs::HLTEgammaEtFilterPairs | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 22 of file HLTEgammaEtFilterPairs.cc.
References etcutEB1_, etcutEB2_, etcutEE1_, etcutEE2_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), inputTag_, L1IsoCollTag_, L1NonIsoCollTag_, relaxed_, and store_.
{ inputTag_ = iConfig.getParameter< edm::InputTag > ("inputTag"); etcutEB1_ = iConfig.getParameter<double> ("etcut1EB"); etcutEE1_ = iConfig.getParameter<double> ("etcut1EE"); etcutEB2_ = iConfig.getParameter<double> ("etcut2EB"); etcutEE2_ = iConfig.getParameter<double> ("etcut2EE"); store_ = iConfig.getUntrackedParameter<bool> ("SaveTag",false) ; relaxed_ = iConfig.getUntrackedParameter<bool> ("relaxed",true) ; L1IsoCollTag_= iConfig.getParameter< edm::InputTag > ("L1IsoCand"); L1NonIsoCollTag_= iConfig.getParameter< edm::InputTag > ("L1NonIsoCand"); //register your products produces<trigger::TriggerFilterObjectWithRefs>(); }
HLTEgammaEtFilterPairs::~HLTEgammaEtFilterPairs | ( | ) |
Definition at line 38 of file HLTEgammaEtFilterPairs.cc.
{}
bool HLTEgammaEtFilterPairs::filter | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements HLTFilter.
Definition at line 43 of file HLTEgammaEtFilterPairs.cc.
References accept(), etcutEB1_, etcutEB2_, etcutEE1_, etcutEE2_, first, edm::Event::getByLabel(), i, inputTag_, L1IsoCollTag_, L1NonIsoCollTag_, module(), n, path(), edm::Event::put(), relaxed_, edm::second(), store_, and trigger::TriggerCluster.
{ using namespace trigger; // The filter object std::auto_ptr<trigger::TriggerFilterObjectWithRefs> filterproduct (new trigger::TriggerFilterObjectWithRefs(path(),module())); if( store_ ){filterproduct->addCollectionTag(L1IsoCollTag_);} if( store_ && relaxed_){filterproduct->addCollectionTag(L1NonIsoCollTag_);} edm::Handle<trigger::TriggerFilterObjectWithRefs> PrevFilterOutput; iEvent.getByLabel (inputTag_,PrevFilterOutput); std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands; // vref with your specific C++ collection type PrevFilterOutput->getObjects(TriggerCluster, recoecalcands); // they list should be interpreted as pairs: // <recoecalcands[0],recoecalcands[1]> // <recoecalcands[2],recoecalcands[3]> // <recoecalcands[4],recoecalcands[5]> // ....... // Should I check that the size of recoecalcands is even ? int n(0); for (unsigned int i=0; i<recoecalcands.size(); i=i+2) { edm::Ref<reco::RecoEcalCandidateCollection> r1 = recoecalcands[i]; edm::Ref<reco::RecoEcalCandidateCollection> r2 = recoecalcands[i+1]; // std::cout<<"EtFilter: 1) Et Eta phi: "<<r1->et()<<" "<<r1->eta()<<" "<<r1->phi()<<" 2) Et eta phi: "<<r2->et()<<" "<<r2->eta()<<" "<<r2->phi()<<std::endl; bool first = (fabs(r1->eta()) < 1.479 && r1->et() >= etcutEB1_) || (fabs(r1->eta()) >= 1.479 && r1->et() >= etcutEE1_); bool second = (fabs(r2->eta()) < 1.479 && r2->et() >= etcutEB2_) || (fabs(r2->eta()) >= 1.479 && r2->et() >= etcutEE2_); if ( first && second ) { n++; filterproduct->addObject(TriggerCluster,r1 ); filterproduct->addObject(TriggerCluster,r2 ); } } // filter decision bool accept(n>=1); // put filter object into the Event iEvent.put(filterproduct); return accept; }
double HLTEgammaEtFilterPairs::etcutEB1_ [private] |
Definition at line 25 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
double HLTEgammaEtFilterPairs::etcutEB2_ [private] |
Definition at line 26 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
double HLTEgammaEtFilterPairs::etcutEE1_ [private] |
Definition at line 27 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
double HLTEgammaEtFilterPairs::etcutEE2_ [private] |
Definition at line 28 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
Definition at line 24 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
Definition at line 31 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
Definition at line 32 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
bool HLTEgammaEtFilterPairs::relaxed_ [private] |
Definition at line 30 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().
bool HLTEgammaEtFilterPairs::store_ [private] |
Definition at line 29 of file HLTEgammaEtFilterPairs.h.
Referenced by filter(), and HLTEgammaEtFilterPairs().