#include <BeamSplash.h>
Public Member Functions | |
BeamSplash (const edm::ParameterSet &) | |
~BeamSplash () | |
Private Member Functions | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
bool | applyfilter |
edm::InputTag | EBRecHitCollection_ |
edm::InputTag | EERecHitCollection_ |
double | EnergyCutEcal |
double | EnergyCutHcal |
double | EnergyCutTot |
edm::InputTag | HBHERecHitCollection_ |
Definition at line 33 of file BeamSplash.h.
BeamSplash::BeamSplash | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 35 of file BeamSplash.cc.
References align_tpl::applyfilter, edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().
{ EBRecHitCollection_ = iConfig.getParameter<edm::InputTag>("ebrechitcollection"); EERecHitCollection_ = iConfig.getParameter<edm::InputTag>("eerechitcollection"); HBHERecHitCollection_ = iConfig.getParameter<edm::InputTag>("hbherechitcollection"); EnergyCutTot = iConfig.getUntrackedParameter<double>("energycuttot"); EnergyCutEcal = iConfig.getUntrackedParameter<double>("energycutecal"); EnergyCutHcal = iConfig.getUntrackedParameter<double>("energycuthcal"); applyfilter = iConfig.getUntrackedParameter<bool>("applyfilter",true); }
BeamSplash::~BeamSplash | ( | ) |
Definition at line 47 of file BeamSplash.cc.
{ }
bool BeamSplash::filter | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDFilter.
Definition at line 51 of file BeamSplash.cc.
References align_tpl::applyfilter, edm::SortedCollection< T, SORT >::begin(), edm::EventBase::bunchCrossing(), gather_cfg::cout, egHLT::errCodes::EBRecHits, egHLT::errCodes::EERecHits, edm::SortedCollection< T, SORT >::end(), edm::EventID::event(), edm::Event::getByLabel(), egHLT::errCodes::HBHERecHits, edm::EventBase::id(), edm::HandleBase::isValid(), edm::EventBase::luminosityBlock(), edm::Handle< T >::product(), and edm::EventID::run().
{ bool accepted = false; bool acceptedtot = false; bool acceptedEcal = false; bool acceptedHcal = false; int ievt = iEvent.id().event(); int irun = iEvent.id().run(); int ils = iEvent.luminosityBlock(); int ibx = iEvent.bunchCrossing(); double totene=0; double ecalene=0; double hcalene=0; Handle< EBRecHitCollection > pEBRecHits; Handle< EERecHitCollection > pEERecHits; Handle< HBHERecHitCollection > pHBHERecHits; const EBRecHitCollection* EBRecHits = 0; const EERecHitCollection* EERecHits = 0; const HBHERecHitCollection* HBHERecHits = 0; if ( EBRecHitCollection_.label() != "" && EBRecHitCollection_.instance() != "" ) { iEvent.getByLabel( EBRecHitCollection_, pEBRecHits); if ( pEBRecHits.isValid() ) { EBRecHits = pEBRecHits.product(); // get a ptr to the product } else { edm::LogError("EcalRecHitError") << "Error! can't get the product " << EBRecHitCollection_.label() ; } } if ( EERecHitCollection_.label() != "" && EERecHitCollection_.instance() != "" ) { iEvent.getByLabel( EERecHitCollection_, pEERecHits); if ( pEERecHits.isValid() ) { EERecHits = pEERecHits.product(); // get a ptr to the product } else { edm::LogError("EcalRecHitError") << "Error! can't get the product " << EERecHitCollection_.label() ; } } if ( HBHERecHitCollection_.label() != "" ) { iEvent.getByLabel( HBHERecHitCollection_, pHBHERecHits); if ( pHBHERecHits.isValid() ) { HBHERecHits = pHBHERecHits.product(); // get a ptr to the product } else { edm::LogError("HcalRecHitError") << "Error! can't get the product " << HBHERecHitCollection_.label() ; } } // now sum over them if (EBRecHits) { for(EBRecHitCollection::const_iterator it = EBRecHits->begin(); it != EBRecHits->end(); ++it) { totene+=it->energy(); ecalene+=it->energy(); } } if (EERecHits) { for(EERecHitCollection::const_iterator it = EERecHits->begin(); it != EERecHits->end(); ++it) { totene+=it->energy(); ecalene+=it->energy(); } } if (HBHERecHits) { for(HBHERecHitCollection::const_iterator it = HBHERecHits->begin(); it != HBHERecHits->end(); ++it) { totene+=it->energy(); hcalene+=it->energy(); } } if(totene>EnergyCutTot) acceptedtot=true; if(ecalene>EnergyCutEcal) acceptedEcal=true; if(hcalene>EnergyCutHcal) acceptedHcal=true; accepted = acceptedtot|acceptedEcal|acceptedHcal; if (accepted) { edm::LogVerbatim("BeamSplash") << "!!!!!!!BeamSplash!!!!!!!: run:" << irun << " event:" << ievt << " ls:"<< ils << " bx= " << ibx <<" totene=" << totene << " ecalene=" << ecalene << " hcalene=" << hcalene ; std::cout << "!!!!!!!BeamSplash!!!!!!!: run:" << irun << " event:" << ievt << " ls:"<< ils << " bx= " << ibx <<" totene=" <<totene << " ecalene=" << ecalene << " hcalene=" << hcalene << std::endl; } if (applyfilter) return accepted; else return true; }
bool BeamSplash::applyfilter [private] |
Definition at line 47 of file BeamSplash.h.
edm::InputTag BeamSplash::EBRecHitCollection_ [private] |
Definition at line 41 of file BeamSplash.h.
edm::InputTag BeamSplash::EERecHitCollection_ [private] |
Definition at line 42 of file BeamSplash.h.
double BeamSplash::EnergyCutEcal [private] |
Definition at line 45 of file BeamSplash.h.
double BeamSplash::EnergyCutHcal [private] |
Definition at line 46 of file BeamSplash.h.
double BeamSplash::EnergyCutTot [private] |
Definition at line 44 of file BeamSplash.h.
Definition at line 43 of file BeamSplash.h.