#include <EERecoSummary.h>
Public Member Functions | |
EERecoSummary (const edm::ParameterSet &) | |
~EERecoSummary () | |
Protected Attributes | |
edm::InputTag | basicClusterCollection_EE_ |
double | ethrEE_ |
edm::InputTag | recHitCollection_EE_ |
edm::InputTag | redRecHitCollection_EE_ |
double | scEtThrEE_ |
edm::InputTag | superClusterCollection_EE_ |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
virtual void | endJob () |
Private Attributes | |
DQMStore * | dqmStore_ |
MonitorElement * | h_basicClusters_recHits_EE_recoFlag |
MonitorElement * | h_recHits_EE_recoFlag |
MonitorElement * | h_recHits_EEM_Chi2 |
MonitorElement * | h_recHits_EEM_energyMax |
MonitorElement * | h_recHits_EEP_Chi2 |
MonitorElement * | h_recHits_EEP_energyMax |
MonitorElement * | h_redRecHits_EE_recoFlag |
MonitorElement * | h_superClusters_EE_phi |
MonitorElement * | h_superClusters_EEM_nBC |
MonitorElement * | h_superClusters_EEP_nBC |
MonitorElement * | h_superClusters_eta |
std::string | prefixME_ |
Definition at line 42 of file EERecoSummary.h.
EERecoSummary::EERecoSummary | ( | const edm::ParameterSet & | ps | ) | [explicit] |
Definition at line 69 of file EERecoSummary.cc.
References basicClusterCollection_EE_, dqmStore_, ethrEE_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), h_basicClusters_recHits_EE_recoFlag, h_recHits_EE_recoFlag, h_recHits_EEM_Chi2, h_recHits_EEM_energyMax, h_recHits_EEP_Chi2, h_recHits_EEP_energyMax, h_redRecHits_EE_recoFlag, h_superClusters_EE_phi, h_superClusters_EEM_nBC, h_superClusters_EEP_nBC, h_superClusters_eta, cmsCodeRules::cppFunctionSkipper::operator, prefixME_, recHitCollection_EE_, redRecHitCollection_EE_, scEtThrEE_, and superClusterCollection_EE_.
{ prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", ""); //now do what ever initialization is needed recHitCollection_EE_ = ps.getParameter<edm::InputTag>("recHitCollection_EE"); redRecHitCollection_EE_ = ps.getParameter<edm::InputTag>("redRecHitCollection_EE"); basicClusterCollection_EE_ = ps.getParameter<edm::InputTag>("basicClusterCollection_EE"); superClusterCollection_EE_ = ps.getParameter<edm::InputTag>("superClusterCollection_EE"); ethrEE_ = ps.getParameter<double>("ethrEE"); scEtThrEE_ = ps.getParameter<double>("scEtThrEE"); // DQM Store ------------------- dqmStore_ = edm::Service<DQMStore>().operator->(); // Monitor Elements (ex THXD) dqmStore_->setCurrentFolder(prefixME_ + "/EERecoSummary"); // to organise the histos in folders // ReducedRecHits ---------------------------------------------- // ... endcap h_redRecHits_EE_recoFlag = dqmStore_->book1D("redRecHits_EE_recoFlag","redRecHits_EE_recoFlag",16,-0.5,15.5); // RecHits ---------------------------------------------- // ... endcap h_recHits_EE_recoFlag = dqmStore_->book1D("recHits_EE_recoFlag","recHits_EE_recoFlag",16,-0.5,15.5); // ... endcap + h_recHits_EEP_energyMax = dqmStore_->book1D("recHits_EEP_energyMax","recHitsEEP_energyMax",110,-10,100); h_recHits_EEP_Chi2 = dqmStore_->book1D("recHits_EEP_Chi2","recHits_EEP_Chi2",200,0,100); // ... endcap - h_recHits_EEM_energyMax = dqmStore_->book1D("recHits_EEM_energyMax","recHits_EEM_energyMax",110,-10,100); h_recHits_EEM_Chi2 = dqmStore_->book1D("recHits_EEM_Chi2","recHits_EEM_Chi2",200,0,100); // Basic Clusters ---------------------------------------------- // ... associated endcap rec hits h_basicClusters_recHits_EE_recoFlag = dqmStore_->book1D("basicClusters_recHits_EE_recoFlag","basicClusters_recHits_EE_recoFlag",16,-0.5,15.5); // Super Clusters ---------------------------------------------- // ... endcap h_superClusters_EEP_nBC = dqmStore_->book1D("superClusters_EEP_nBC","superClusters_EEP_nBC",100,0.,100.); h_superClusters_EEM_nBC = dqmStore_->book1D("superClusters_EEM_nBC","superClusters_EEM_nBC",100,0.,100.); h_superClusters_eta = dqmStore_->book1D("superClusters_eta","superClusters_eta",150,-3.,3.); h_superClusters_EE_phi = dqmStore_->book1D("superClusters_EE_phi","superClusters_EE_phi",360,-3.1415927,3.1415927); }
EERecoSummary::~EERecoSummary | ( | ) |
Definition at line 122 of file EERecoSummary.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void EERecoSummary::analyze | ( | const edm::Event & | ev, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 134 of file EERecoSummary.cc.
References basicClusterCollection_EE_, edm::SortedCollection< T, SORT >::begin(), edm::SortedCollection< T, SORT >::end(), relval_parameters_module::energy, eta(), ethrEE_, funct::exp(), MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::SortedCollection< T, SORT >::find(), first, geometry, edm::EventSetup::get(), edm::Event::getByLabel(), EcalClusterTools::getMaximum(), CaloGeometry::getPosition(), h_basicClusters_recHits_EE_recoFlag, h_recHits_EE_recoFlag, h_recHits_EEM_Chi2, h_recHits_EEM_energyMax, h_recHits_EEP_Chi2, h_recHits_EEP_energyMax, h_redRecHits_EE_recoFlag, h_superClusters_EE_phi, h_superClusters_EEM_nBC, h_superClusters_EEP_nBC, h_superClusters_eta, edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), phi, edm::ESHandle< T >::product(), edm::Handle< T >::product(), recHitCollection_EE_, redRecHitCollection_EE_, scEtThrEE_, funct::sin(), superClusterCollection_EE_, z, and EEDetId::zside().
{ //Get the magnetic field edm::ESHandle<MagneticField> theMagField; iSetup.get<IdealMagneticFieldRecord>().get(theMagField); // calo geometry edm::ESHandle<CaloGeometry> pGeometry; iSetup.get<CaloGeometryRecord>().get(pGeometry); const CaloGeometry *geometry = pGeometry.product(); // --- REDUCED REC HITS ------------------------------------------------------------------------------------- // ... endcap edm::Handle<EcalRecHitCollection> redRecHitsEE; ev.getByLabel( redRecHitCollection_EE_, redRecHitsEE ); const EcalRecHitCollection* theEndcapEcalredRecHits = redRecHitsEE.product () ; if ( ! redRecHitsEE.isValid() ) { edm::LogWarning("EERecoSummary") << "redRecHitsEE not found"; } for ( EcalRecHitCollection::const_iterator itr = theEndcapEcalredRecHits->begin () ; itr != theEndcapEcalredRecHits->end () ; ++itr) { EEDetId eeid( itr -> id() ); GlobalPoint mycell = geometry->getPosition(itr->detid()); h_redRecHits_EE_recoFlag->Fill( itr -> recoFlag() ); } // --- REC HITS ------------------------------------------------------------------------------------- // ... endcap edm::Handle<EcalRecHitCollection> recHitsEE; ev.getByLabel( recHitCollection_EE_, recHitsEE ); const EcalRecHitCollection* theEndcapEcalRecHits = recHitsEE.product () ; if ( ! recHitsEE.isValid() ) { edm::LogWarning("EERecoSummary") << "recHitsEE not found"; } float maxRecHitEnergyEEP = -999.; float maxRecHitEnergyEEM = -999.; EEDetId eeid_MrecHitEEM; EEDetId eeid_MrecHitEEP; for ( EcalRecHitCollection::const_iterator itr = theEndcapEcalRecHits->begin () ; itr != theEndcapEcalRecHits->end () ; ++itr) { EEDetId eeid( itr -> id() ); GlobalPoint mycell = geometry->getPosition(itr->detid()); // EE+ if ( eeid.zside() > 0 ){ h_recHits_EE_recoFlag -> Fill( itr -> recoFlag() ); // max E rec hit if (itr -> energy() > maxRecHitEnergyEEP && !(eeid.ix()>=41 && eeid.ix()<=60 && eeid.iy()>=41 && eeid.iy()<=60) ) { maxRecHitEnergyEEP = itr -> energy() ; } // only channels above noise if ( itr -> energy() > ethrEE_ ){ h_recHits_EEP_Chi2 -> Fill( itr -> chi2() ); } } // EE- if ( eeid.zside() < 0 ){ h_recHits_EE_recoFlag -> Fill( itr -> recoFlag() ); // max E rec hit if (itr -> energy() > maxRecHitEnergyEEM && !(eeid.ix()>=41 && eeid.ix()<=60 && eeid.iy()>=41 && eeid.iy()<=60) ) { maxRecHitEnergyEEM = itr -> energy() ; } // only channels above noise if ( itr -> energy() > ethrEE_ ) { h_recHits_EEM_Chi2 -> Fill( itr -> chi2() ); } } } // end loop over EE rec hits // energy h_recHits_EEP_energyMax -> Fill( maxRecHitEnergyEEP ); h_recHits_EEM_energyMax -> Fill( maxRecHitEnergyEEM ); //--- BASIC CLUSTERS -------------------------------------------------------------- // ... endcap edm::Handle<reco::BasicClusterCollection> basicClusters_EE_h; ev.getByLabel( basicClusterCollection_EE_, basicClusters_EE_h ); if ( ! basicClusters_EE_h.isValid() ) { edm::LogWarning("EERecoSummary") << "basicClusters_EE_h not found"; } for (unsigned int icl = 0; icl < basicClusters_EE_h->size(); ++icl) { //Get the associated RecHits const std::vector<std::pair<DetId,float> > & hits= (*basicClusters_EE_h)[icl].hitsAndFractions(); for (std::vector<std::pair<DetId,float> > ::const_iterator rh = hits.begin(); rh!=hits.end(); ++rh){ EBRecHitCollection::const_iterator itrechit = theEndcapEcalRecHits->find((*rh).first); if (itrechit==theEndcapEcalRecHits->end()) continue; h_basicClusters_recHits_EE_recoFlag -> Fill ( itrechit -> recoFlag() ); } } // Super Clusters // ... endcap edm::Handle<reco::SuperClusterCollection> superClusters_EE_h; ev.getByLabel( superClusterCollection_EE_, superClusters_EE_h ); const reco::SuperClusterCollection* theEndcapSuperClusters = superClusters_EE_h.product () ; if ( ! superClusters_EE_h.isValid() ) { edm::LogWarning("EERecoSummary") << "superClusters_EE_h not found"; } for (reco::SuperClusterCollection::const_iterator itSC = theEndcapSuperClusters->begin(); itSC != theEndcapSuperClusters->end(); ++itSC ) { double scEt = itSC -> energy() * sin(2.*atan( exp(- itSC->position().eta() ))); if (scEt < scEtThrEE_ ) continue; h_superClusters_eta -> Fill( itSC -> eta() ); h_superClusters_EE_phi -> Fill( itSC -> phi() ); //Now get the seed: DetId theSeedIdEE = EcalClusterTools::getMaximum( (*itSC).hitsAndFractions(), theEndcapEcalRecHits ).first; EcalRecHitCollection::const_iterator theSeedEE = theEndcapEcalRecHits->find (theSeedIdEE) ; if ( itSC -> z() > 0 ){ h_superClusters_EEP_nBC -> Fill( itSC -> clustersSize() ); } if ( itSC -> z() < 0 ){ h_superClusters_EEM_nBC -> Fill( itSC -> clustersSize() ); } } //-------------------------------------------------------- }
void EERecoSummary::beginJob | ( | void | ) | [private, virtual] |
void EERecoSummary::endJob | ( | void | ) | [private, virtual] |
Definition at line 92 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
DQMStore* EERecoSummary::dqmStore_ [private] |
Definition at line 56 of file EERecoSummary.h.
Referenced by EERecoSummary().
double EERecoSummary::ethrEE_ [protected] |
Definition at line 95 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 77 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 68 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
MonitorElement* EERecoSummary::h_recHits_EEM_Chi2 [private] |
Definition at line 74 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 73 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
MonitorElement* EERecoSummary::h_recHits_EEP_Chi2 [private] |
Definition at line 71 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 70 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 64 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 85 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 82 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 81 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
MonitorElement* EERecoSummary::h_superClusters_eta [private] |
Definition at line 84 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
std::string EERecoSummary::prefixME_ [private] |
Definition at line 58 of file EERecoSummary.h.
Referenced by EERecoSummary().
edm::InputTag EERecoSummary::recHitCollection_EE_ [protected] |
Definition at line 90 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
edm::InputTag EERecoSummary::redRecHitCollection_EE_ [protected] |
Definition at line 91 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
double EERecoSummary::scEtThrEE_ [protected] |
Definition at line 97 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().
Definition at line 93 of file EERecoSummary.h.
Referenced by analyze(), and EERecoSummary().