CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
DQMSourcePi0 Class Reference

#include <DQMSourcePi0.h>

Inheritance diagram for DQMSourcePi0:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 DQMSourcePi0 (const edm::ParameterSet &)
 
 ~DQMSourcePi0 () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void convxtalid (int &, int &)
 
int diff_neta_s (int, int)
 
int diff_nphi_s (int, int)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

int clusEtaSize_
 
int clusPhiSize_
 
double clusSeedThr_
 
double clusSeedThrEndCap_
 
std::vector< EBDetIddetIdEBRecHits
 
std::vector< EEDetIddetIdEERecHits
 
std::vector< EcalRecHitEBRecHits
 
std::vector< EcalRecHitEERecHits
 
int eventCounter_
 
std::string fileName_
 Output file name if required. More...
 
std::string folderName_
 DQM folder name. More...
 
int gammaCandEtaSize_
 
int gammaCandPhiSize_
 
MonitorElementhEventEnergyEBeta_
 Distribution of total event energy EB (eta) More...
 
MonitorElementhEventEnergyEBpi0_
 Distribution of total event energy EB (pi0) More...
 
MonitorElementhEventEnergyEEeta_
 Distribution of total event energy EE (eta) More...
 
MonitorElementhEventEnergyEEpi0_
 Distribution of total event energy EE (pi0) More...
 
MonitorElementhiEtaDistrEBeta_
 Distribution of rechits in iEta (eta) More...
 
MonitorElementhiEtaDistrEBpi0_
 Distribution of rechits in iEta (pi0) More...
 
MonitorElementhiPhiDistrEBeta_
 Distribution of rechits in iPhi (eta) More...
 
MonitorElementhiPhiDistrEBpi0_
 Distribution of rechits in iPhi (pi0) More...
 
MonitorElementhIsoEtaEB_
 Eta Iso EB. More...
 
MonitorElementhIsoEtaEE_
 Eta Iso EE. More...
 
MonitorElementhIsoPi0EB_
 Pi0 Iso EB. More...
 
MonitorElementhIsoPi0EE_
 Pi0 Iso EE. More...
 
MonitorElementhiXDistrEEeta_
 Distribution of rechits in ix EE (eta) More...
 
MonitorElementhiXDistrEEpi0_
 Distribution of rechits in ix EE (pi0) More...
 
MonitorElementhiYDistrEEeta_
 Distribution of rechits in iy EE (eta) More...
 
MonitorElementhiYDistrEEpi0_
 Distribution of rechits in iy EE (pi0) More...
 
MonitorElementhMeanRecHitEnergyEBeta_
 Distribution of Mean energy per rechit EB (eta) More...
 
MonitorElementhMeanRecHitEnergyEBpi0_
 Distribution of Mean energy per rechit EB (pi0) More...
 
MonitorElementhMeanRecHitEnergyEEeta_
 Distribution of Mean energy per rechit EE (eta) More...
 
MonitorElementhMeanRecHitEnergyEEpi0_
 Distribution of Mean energy per rechit EE (pi0) More...
 
MonitorElementhMinvEtaEB_
 Eta invariant mass in EB. More...
 
MonitorElementhMinvEtaEE_
 Eta invariant mass in EE. More...
 
MonitorElementhMinvPi0EB_
 Pi0 invariant mass in EB. More...
 
MonitorElementhMinvPi0EE_
 Pi0 invariant mass in EE. More...
 
MonitorElementhNRecHitsEBeta_
 Distribution of number of RecHits EB (eta) More...
 
MonitorElementhNRecHitsEBpi0_
 Distribution of number of RecHits EB (pi0) More...
 
MonitorElementhNRecHitsEEeta_
 Distribution of number of RecHits EE (eta) More...
 
MonitorElementhNRecHitsEEpi0_
 Distribution of number of RecHits EE (pi0) More...
 
MonitorElementhPt1EtaEB_
 Pt of the 1st most energetic Eta photon in EB. More...
 
MonitorElementhPt1EtaEE_
 Pt of the 1st most energetic Eta photon in EE. More...
 
MonitorElementhPt1Pi0EB_
 Pt of the 1st most energetic Pi0 photon in EB. More...
 
MonitorElementhPt1Pi0EE_
 Pt of the 1st most energetic Pi0 photon in EE. More...
 
MonitorElementhPt2EtaEB_
 Pt of the 2nd most energetic Eta photon in EB. More...
 
MonitorElementhPt2EtaEE_
 Pt of the 2nd most energetic Eta photon in EE. More...
 
MonitorElementhPt2Pi0EB_
 Pt of the 2nd most energetic Pi0 photon in EB. More...
 
MonitorElementhPt2Pi0EE_
 Pt of the 2nd most energetic Pi0 photon in EE. More...
 
MonitorElementhPtEtaEB_
 Eta Pt in EB. More...
 
MonitorElementhPtEtaEE_
 Eta Pt in EE. More...
 
MonitorElementhPtPi0EB_
 Pi0 Pt in EB. More...
 
MonitorElementhPtPi0EE_
 Pi0 Pt in EE. More...
 
MonitorElementhRechitEnergyEBeta_
 Energy Distribution of rechits EB (eta) More...
 
MonitorElementhRechitEnergyEBpi0_
 Energy Distribution of rechits EB (pi0) More...
 
MonitorElementhRechitEnergyEEeta_
 Energy Distribution of rechits EE (eta) More...
 
MonitorElementhRechitEnergyEEpi0_
 Energy Distribution of rechits EE (pi0) More...
 
MonitorElementhS4S91EtaEB_
 S4S9 of the 1st most energetic eta photon. More...
 
MonitorElementhS4S91EtaEE_
 S4S9 of the 1st most energetic eta photon EE. More...
 
MonitorElementhS4S91Pi0EB_
 S4S9 of the 1st most energetic pi0 photon. More...
 
MonitorElementhS4S91Pi0EE_
 S4S9 of the 1st most energetic pi0 photon EE. More...
 
MonitorElementhS4S92EtaEB_
 S4S9 of the 2nd most energetic eta photon. More...
 
MonitorElementhS4S92EtaEE_
 S4S9 of the 2nd most energetic eta photon EE. More...
 
MonitorElementhS4S92Pi0EB_
 S4S9 of the 2nd most energetic pi0 photon. More...
 
MonitorElementhS4S92Pi0EE_
 S4S9 of the 2nd most energetic pi0 photon EE. More...
 
bool isMonEBeta_
 
bool isMonEBpi0_
 which subdet will be monitored More...
 
bool isMonEEeta_
 
bool isMonEEpi0_
 
bool ParameterLogWeighted_
 
double ParameterT0_barl_
 
double ParameterT0_endc_
 
double ParameterT0_endcPresh_
 
double ParameterW0_
 
double ParameterX0_
 
PositionCalc posCalculator_
 
unsigned int prescaleFactor_
 Monitor every prescaleFactor_ events. More...
 
edm::EDGetTokenT< EcalRecHitCollectionproductMonitoredEBeta_
 
edm::EDGetTokenT< EcalRecHitCollectionproductMonitoredEBpi0_
 object to monitor More...
 
edm::EDGetTokenT< EcalRecHitCollectionproductMonitoredEEeta_
 
edm::EDGetTokenT< EcalRecHitCollectionproductMonitoredEEpi0_
 object to monitor More...
 
double ptMinForIsolation_
 
double ptMinForIsolationEndCap_
 
double ptMinForIsolationEta_
 
double ptMinForIsolationEtaEndCap_
 
bool saveToFile_
 Write to file. More...
 
double seleEtaBeltDeta_
 
double seleEtaBeltDetaEndCap_
 
double seleEtaBeltDR_
 
double seleEtaBeltDREndCap_
 
double seleEtaIso_
 
double seleEtaIsoEndCap_
 
double seleMinvMaxEta_
 
double seleMinvMaxEtaEndCap_
 
double seleMinvMaxPi0_
 
double seleMinvMaxPi0EndCap_
 
double seleMinvMinEta_
 
double seleMinvMinEtaEndCap_
 
double seleMinvMinPi0_
 
double seleMinvMinPi0EndCap_
 
double selePi0BeltDeta_
 
double selePi0BeltDetaEndCap_
 
double selePi0BeltDR_
 
double selePi0BeltDREndCap_
 
double selePi0Iso_
 
double selePi0IsoEndCap_
 
double selePtEta_
 
double selePtEtaEndCap_
 
double selePtGamma_
 
double selePtGammaEndCap_
 for pi0->gg endcap More...
 
double selePtGammaEta_
 for eta->gg barrel More...
 
double selePtGammaEtaEndCap_
 for eta->gg endcap More...
 
double selePtPi0_
 
double selePtPi0EndCap_
 
double seleS4S9Gamma_
 
double seleS4S9GammaEndCap_
 
double seleS4S9GammaEta_
 
double seleS4S9GammaEtaEndCap_
 
double seleS9S25GammaEta_
 
double seleS9S25GammaEtaEndCap_
 
double seleXtalMinEnergy_
 
double seleXtalMinEnergyEndCap_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 29 of file DQMSourcePi0.h.

Constructor & Destructor Documentation

DQMSourcePi0::DQMSourcePi0 ( const edm::ParameterSet ps)

for Pi0 barrel selection

for Pi0 endcap selection

for Eta barrel selection

for Eta endcap selection

Definition at line 45 of file DQMSourcePi0.cc.

References clusEtaSize_, clusPhiSize_, clusSeedThr_, clusSeedThrEndCap_, fileName_, folderName_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), isMonEBeta_, isMonEBpi0_, isMonEEeta_, isMonEEpi0_, MonitorAlCaEcalPi0_cfi::posCalcParameters, posCalculator_, prescaleFactor_, productMonitoredEBeta_, productMonitoredEBpi0_, productMonitoredEEeta_, productMonitoredEEpi0_, ptMinForIsolation_, ptMinForIsolationEndCap_, ptMinForIsolationEta_, ptMinForIsolationEtaEndCap_, saveToFile_, seleEtaBeltDeta_, seleEtaBeltDetaEndCap_, seleEtaBeltDR_, seleEtaBeltDREndCap_, seleEtaIso_, seleEtaIsoEndCap_, seleMinvMaxEta_, seleMinvMaxEtaEndCap_, seleMinvMaxPi0_, seleMinvMaxPi0EndCap_, seleMinvMinEta_, seleMinvMinEtaEndCap_, seleMinvMinPi0_, seleMinvMinPi0EndCap_, selePi0BeltDeta_, selePi0BeltDetaEndCap_, selePi0BeltDR_, selePi0BeltDREndCap_, selePi0Iso_, selePi0IsoEndCap_, selePtEta_, selePtEtaEndCap_, selePtGamma_, selePtGammaEndCap_, selePtGammaEta_, selePtGammaEtaEndCap_, selePtPi0_, selePtPi0EndCap_, seleS4S9Gamma_, seleS4S9GammaEndCap_, seleS4S9GammaEta_, seleS4S9GammaEtaEndCap_, seleS9S25GammaEta_, seleS9S25GammaEtaEndCap_, seleXtalMinEnergy_, and seleXtalMinEnergyEndCap_.

45  : eventCounter_(0) {
46  folderName_ = ps.getUntrackedParameter<string>("FolderName", "HLT/AlCaEcalPi0");
47  prescaleFactor_ = ps.getUntrackedParameter<int>("prescaleFactor", 1);
49  consumes<EcalRecHitCollection>(ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEBpi0Tag"));
51  consumes<EcalRecHitCollection>(ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEBetaTag"));
53  consumes<EcalRecHitCollection>(ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEEpi0Tag"));
55  consumes<EcalRecHitCollection>(ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEEetaTag"));
56 
57  isMonEBpi0_ = ps.getUntrackedParameter<bool>("isMonEBpi0", false);
58  isMonEBeta_ = ps.getUntrackedParameter<bool>("isMonEBeta", false);
59  isMonEEpi0_ = ps.getUntrackedParameter<bool>("isMonEEpi0", false);
60  isMonEEeta_ = ps.getUntrackedParameter<bool>("isMonEEeta", false);
61 
62  saveToFile_ = ps.getUntrackedParameter<bool>("SaveToFile", false);
63  fileName_ = ps.getUntrackedParameter<string>("FileName", "MonitorAlCaEcalPi0.root");
64 
65  clusSeedThr_ = ps.getParameter<double>("clusSeedThr");
66  clusSeedThrEndCap_ = ps.getParameter<double>("clusSeedThrEndCap");
67  clusEtaSize_ = ps.getParameter<int>("clusEtaSize");
68  clusPhiSize_ = ps.getParameter<int>("clusPhiSize");
69  if (clusPhiSize_ % 2 == 0 || clusEtaSize_ % 2 == 0)
70  edm::LogError("AlCaPi0RecHitsProducerError") << "Size of eta/phi for simple clustering should be odd numbers";
71 
72  seleXtalMinEnergy_ = ps.getParameter<double>("seleXtalMinEnergy");
73  seleXtalMinEnergyEndCap_ = ps.getParameter<double>("seleXtalMinEnergyEndCap");
74 
76  selePtGamma_ = ps.getParameter<double>("selePtGamma");
77  selePtPi0_ = ps.getParameter<double>("selePtPi0");
78  seleMinvMaxPi0_ = ps.getParameter<double>("seleMinvMaxPi0");
79  seleMinvMinPi0_ = ps.getParameter<double>("seleMinvMinPi0");
80  seleS4S9Gamma_ = ps.getParameter<double>("seleS4S9Gamma");
81  selePi0Iso_ = ps.getParameter<double>("selePi0Iso");
82  ptMinForIsolation_ = ps.getParameter<double>("ptMinForIsolation");
83  selePi0BeltDR_ = ps.getParameter<double>("selePi0BeltDR");
84  selePi0BeltDeta_ = ps.getParameter<double>("selePi0BeltDeta");
85 
87  selePtGammaEndCap_ = ps.getParameter<double>("selePtGammaEndCap");
88  selePtPi0EndCap_ = ps.getParameter<double>("selePtPi0EndCap");
89  seleS4S9GammaEndCap_ = ps.getParameter<double>("seleS4S9GammaEndCap");
90  seleMinvMaxPi0EndCap_ = ps.getParameter<double>("seleMinvMaxPi0EndCap");
91  seleMinvMinPi0EndCap_ = ps.getParameter<double>("seleMinvMinPi0EndCap");
92  ptMinForIsolationEndCap_ = ps.getParameter<double>("ptMinForIsolationEndCap");
93  selePi0BeltDREndCap_ = ps.getParameter<double>("selePi0BeltDREndCap");
94  selePi0BeltDetaEndCap_ = ps.getParameter<double>("selePi0BeltDetaEndCap");
95  selePi0IsoEndCap_ = ps.getParameter<double>("selePi0IsoEndCap");
96 
98  selePtGammaEta_ = ps.getParameter<double>("selePtGammaEta");
99  selePtEta_ = ps.getParameter<double>("selePtEta");
100  seleS4S9GammaEta_ = ps.getParameter<double>("seleS4S9GammaEta");
101  seleS9S25GammaEta_ = ps.getParameter<double>("seleS9S25GammaEta");
102  seleMinvMaxEta_ = ps.getParameter<double>("seleMinvMaxEta");
103  seleMinvMinEta_ = ps.getParameter<double>("seleMinvMinEta");
104  ptMinForIsolationEta_ = ps.getParameter<double>("ptMinForIsolationEta");
105  seleEtaIso_ = ps.getParameter<double>("seleEtaIso");
106  seleEtaBeltDR_ = ps.getParameter<double>("seleEtaBeltDR");
107  seleEtaBeltDeta_ = ps.getParameter<double>("seleEtaBeltDeta");
108 
110  selePtGammaEtaEndCap_ = ps.getParameter<double>("selePtGammaEtaEndCap");
111  selePtEtaEndCap_ = ps.getParameter<double>("selePtEtaEndCap");
112  seleS4S9GammaEtaEndCap_ = ps.getParameter<double>("seleS4S9GammaEtaEndCap");
113  seleS9S25GammaEtaEndCap_ = ps.getParameter<double>("seleS9S25GammaEtaEndCap");
114  seleMinvMaxEtaEndCap_ = ps.getParameter<double>("seleMinvMaxEtaEndCap");
115  seleMinvMinEtaEndCap_ = ps.getParameter<double>("seleMinvMinEtaEndCap");
116  ptMinForIsolationEtaEndCap_ = ps.getParameter<double>("ptMinForIsolationEtaEndCap");
117  seleEtaIsoEndCap_ = ps.getParameter<double>("seleEtaIsoEndCap");
118  seleEtaBeltDREndCap_ = ps.getParameter<double>("seleEtaBeltDREndCap");
119  seleEtaBeltDetaEndCap_ = ps.getParameter<double>("seleEtaBeltDetaEndCap");
120 
121  // Parameters for the position calculation:
123  posCalculator_ = PositionCalc(posCalcParameters);
124 }
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEEeta_
Definition: DQMSourcePi0.h:208
double seleEtaBeltDREndCap_
Definition: DQMSourcePi0.h:265
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
double seleMinvMinPi0EndCap_
Definition: DQMSourcePi0.h:237
double ptMinForIsolationEtaEndCap_
Definition: DQMSourcePi0.h:263
double seleEtaBeltDR_
Definition: DQMSourcePi0.h:253
PositionCalc posCalculator_
Definition: DQMSourcePi0.h:44
double seleMinvMinEtaEndCap_
Definition: DQMSourcePi0.h:262
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEBeta_
Definition: DQMSourcePi0.h:204
double selePtGammaEndCap_
for pi0->gg endcap
Definition: DQMSourcePi0.h:234
double seleMinvMaxPi0EndCap_
Definition: DQMSourcePi0.h:236
std::string folderName_
DQM folder name.
Definition: DQMSourcePi0.h:285
std::string fileName_
Output file name if required.
Definition: DQMSourcePi0.h:297
double clusSeedThr_
Definition: DQMSourcePi0.h:216
double seleMinvMaxEtaEndCap_
Definition: DQMSourcePi0.h:261
double selePi0Iso_
Definition: DQMSourcePi0.h:230
double selePtEtaEndCap_
Definition: DQMSourcePi0.h:260
bool saveToFile_
Write to file.
Definition: DQMSourcePi0.h:288
double seleS4S9GammaEtaEndCap_
Definition: DQMSourcePi0.h:258
double selePi0BeltDeta_
Definition: DQMSourcePi0.h:229
double seleS4S9Gamma_
Definition: DQMSourcePi0.h:227
double ptMinForIsolationEta_
Definition: DQMSourcePi0.h:251
double seleMinvMinPi0_
Definition: DQMSourcePi0.h:226
double seleMinvMaxEta_
Definition: DQMSourcePi0.h:249
double ptMinForIsolationEndCap_
Definition: DQMSourcePi0.h:242
double seleS4S9GammaEta_
Definition: DQMSourcePi0.h:247
double selePi0BeltDetaEndCap_
Definition: DQMSourcePi0.h:241
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEBpi0_
object to monitor
Definition: DQMSourcePi0.h:203
bool isMonEBpi0_
which subdet will be monitored
Definition: DQMSourcePi0.h:291
double selePtPi0EndCap_
Definition: DQMSourcePi0.h:235
double seleMinvMinEta_
Definition: DQMSourcePi0.h:250
double selePtGammaEtaEndCap_
for eta->gg endcap
Definition: DQMSourcePi0.h:257
double ptMinForIsolation_
Definition: DQMSourcePi0.h:231
double seleXtalMinEnergy_
Definition: DQMSourcePi0.h:213
double seleEtaBeltDeta_
Definition: DQMSourcePi0.h:254
double seleXtalMinEnergyEndCap_
Definition: DQMSourcePi0.h:214
double seleS9S25GammaEtaEndCap_
Definition: DQMSourcePi0.h:259
double selePi0BeltDR_
Definition: DQMSourcePi0.h:228
double selePtGammaEta_
for eta->gg barrel
Definition: DQMSourcePi0.h:245
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEEpi0_
object to monitor
Definition: DQMSourcePi0.h:207
double seleEtaBeltDetaEndCap_
Definition: DQMSourcePi0.h:266
double selePtEta_
Definition: DQMSourcePi0.h:246
double seleEtaIso_
Definition: DQMSourcePi0.h:252
double selePi0IsoEndCap_
Definition: DQMSourcePi0.h:239
double seleMinvMaxPi0_
Definition: DQMSourcePi0.h:225
double seleEtaIsoEndCap_
Definition: DQMSourcePi0.h:264
unsigned int prescaleFactor_
Monitor every prescaleFactor_ events.
Definition: DQMSourcePi0.h:282
double selePtPi0_
Definition: DQMSourcePi0.h:224
double seleS4S9GammaEndCap_
Definition: DQMSourcePi0.h:238
double selePi0BeltDREndCap_
Definition: DQMSourcePi0.h:240
double seleS9S25GammaEta_
Definition: DQMSourcePi0.h:248
double selePtGamma_
Definition: DQMSourcePi0.h:223
double clusSeedThrEndCap_
Definition: DQMSourcePi0.h:220
DQMSourcePi0::~DQMSourcePi0 ( )
override

Definition at line 126 of file DQMSourcePi0.cc.

126 {}

Member Function Documentation

void DQMSourcePi0::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

EcalRecHit

check s4s9

calculate e5x5

already clustered

check s4s9

calculate e5x5

already clustered

EcalRecHit

EcalRecHit

Definition at line 305 of file DQMSourcePi0.cc.

References funct::abs(), edm::SortedCollection< T, SORT >::begin(), PositionCalc::Calculate_Location(), clusEtaSize_, clusPhiSize_, clusSeedThr_, clusSeedThrEndCap_, convxtalid(), funct::cos(), detIdEBRecHits, detIdEERecHits, diff_neta_s(), diff_nphi_s(), PVValHelper::dx, PVValHelper::dy, EBRecHits, DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, ecalRecHitGreater(), EERecHits, edm::SortedCollection< T, SORT >::empty(), edm::SortedCollection< T, SORT >::end(), HCALHighEnergyHPDFilter_cfi::energy, eventCounter_, JetChargeProducer_cfi::exp, dqm::impl::MonitorElement::Fill(), spr::find(), edm::EventSetup::get(), edm::Event::getByToken(), CaloGeometry::getSubdetectorGeometry(), CaloTopology::getSubdetectorTopology(), CaloSubdetectorTopology::getWindow(), hEventEnergyEBeta_, hEventEnergyEBpi0_, hEventEnergyEEeta_, hEventEnergyEEpi0_, hiEtaDistrEBeta_, hiEtaDistrEBpi0_, hiPhiDistrEBeta_, hiPhiDistrEBpi0_, hIsoEtaEB_, hIsoEtaEE_, hIsoPi0EB_, hIsoPi0EE_, hiXDistrEEeta_, hiXDistrEEpi0_, hiYDistrEEeta_, hiYDistrEEpi0_, hMeanRecHitEnergyEBeta_, hMeanRecHitEnergyEBpi0_, hMeanRecHitEnergyEEeta_, hMeanRecHitEnergyEEpi0_, hMinvEtaEB_, hMinvEtaEE_, hMinvPi0EB_, hMinvPi0EE_, hNRecHitsEBeta_, hNRecHitsEBpi0_, hNRecHitsEEeta_, hNRecHitsEEpi0_, hPt1EtaEB_, hPt1EtaEE_, hPt1Pi0EB_, hPt1Pi0EE_, hPt2EtaEB_, hPt2EtaEE_, hPt2Pi0EB_, hPt2Pi0EE_, hPtEtaEB_, hPtEtaEE_, hPtPi0EB_, hPtPi0EE_, hRechitEnergyEBeta_, hRechitEnergyEBpi0_, hRechitEnergyEEeta_, hRechitEnergyEEpi0_, hS4S91EtaEB_, hS4S91EtaEE_, hS4S91Pi0EB_, hS4S91Pi0EE_, hS4S92EtaEB_, hS4S92EtaEE_, hS4S92Pi0EB_, hS4S92Pi0EE_, mps_fire::i, triggerObjects_cff::id, EBDetId::ieta(), LEDCalibrationChannels::ieta, createfilelist::int, EBDetId::iphi(), LEDCalibrationChannels::iphi, isMonEBeta_, isMonEBpi0_, isMonEEeta_, isMonEEpi0_, edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), dqmiolumiharvest::j, dqmdumpme::k, groupFilesInBlocks::nn, posCalculator_, prescaleFactor_, edm::Handle< T >::product(), productMonitoredEBeta_, productMonitoredEBpi0_, productMonitoredEEeta_, productMonitoredEEpi0_, ptMinForIsolation_, ptMinForIsolationEndCap_, ptMinForIsolationEta_, ptMinForIsolationEtaEndCap_, seleEtaBeltDeta_, seleEtaBeltDetaEndCap_, seleEtaBeltDR_, seleEtaBeltDREndCap_, seleEtaIso_, seleEtaIsoEndCap_, seleMinvMaxEta_, seleMinvMaxEtaEndCap_, seleMinvMaxPi0_, seleMinvMaxPi0EndCap_, seleMinvMinEta_, seleMinvMinEtaEndCap_, seleMinvMinPi0_, seleMinvMinPi0EndCap_, selePi0BeltDeta_, selePi0BeltDetaEndCap_, selePi0BeltDR_, selePi0BeltDREndCap_, selePi0Iso_, selePi0IsoEndCap_, selePtEta_, selePtEtaEndCap_, selePtGamma_, selePtGammaEndCap_, selePtGammaEta_, selePtGammaEtaEndCap_, selePtPi0_, selePtPi0EndCap_, seleS4S9Gamma_, seleS4S9GammaEndCap_, seleS4S9GammaEta_, seleS4S9GammaEtaEndCap_, seleXtalMinEnergy_, seleXtalMinEnergyEndCap_, funct::sin(), edm::SortedCollection< T, SORT >::size(), and mathSSE::sqrt().

305  {
307  return;
308  eventCounter_++;
309 
310  edm::ESHandle<CaloTopology> theCaloTopology;
311  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
312 
313  std::vector<EcalRecHit> seeds;
314  seeds.clear();
315 
316  vector<EBDetId> usedXtals;
317  usedXtals.clear();
318 
319  detIdEBRecHits.clear();
320  EBRecHits.clear();
321 
326 
327  if (isMonEBpi0_)
328  iEvent.getByToken(productMonitoredEBpi0_, rhEBpi0);
329  if (isMonEBeta_)
330  iEvent.getByToken(productMonitoredEBeta_, rhEBeta);
331  if (isMonEEpi0_)
332  iEvent.getByToken(productMonitoredEEpi0_, rhEEpi0);
333  if (isMonEEeta_)
334  iEvent.getByToken(productMonitoredEEeta_, rhEEeta);
335 
336  // Initialize the Position Calc
337 
338  edm::ESHandle<CaloGeometry> geoHandle;
339  iSetup.get<CaloGeometryRecord>().get(geoHandle);
340  const CaloSubdetectorGeometry *geometry_p = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalBarrel);
341  const CaloSubdetectorGeometry *geometryEE_p = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalEndcap);
342  const CaloSubdetectorGeometry *geometryES_p = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalPreshower);
343 
344  const CaloSubdetectorTopology *topology_p = theCaloTopology->getSubdetectorTopology(DetId::Ecal, EcalBarrel);
345  const CaloSubdetectorTopology *topology_ee = theCaloTopology->getSubdetectorTopology(DetId::Ecal, EcalEndcap);
346 
348 
349  // fill EB pi0 histos
350  if (isMonEBpi0_) {
351  if (rhEBpi0.isValid() && (!rhEBpi0->empty())) {
352  const EcalRecHitCollection *hitCollection_p = rhEBpi0.product();
353  float etot = 0;
354  for (itb = rhEBpi0->begin(); itb != rhEBpi0->end(); ++itb) {
355  EBDetId id(itb->id());
356  double energy = itb->energy();
357  if (energy < seleXtalMinEnergy_)
358  continue;
359 
360  EBDetId det = itb->id();
361 
362  detIdEBRecHits.push_back(det);
363  EBRecHits.push_back(*itb);
364 
365  if (energy > clusSeedThr_)
366  seeds.push_back(*itb);
367 
368  hiPhiDistrEBpi0_->Fill(id.iphi());
369  hiEtaDistrEBpi0_->Fill(id.ieta());
370  hRechitEnergyEBpi0_->Fill(itb->energy());
371 
372  etot += itb->energy();
373  } // Eb rechits
374 
375  hNRecHitsEBpi0_->Fill(rhEBpi0->size());
376  hMeanRecHitEnergyEBpi0_->Fill(etot / rhEBpi0->size());
377  hEventEnergyEBpi0_->Fill(etot);
378 
379  // cout << " EB RH Pi0 collection: #, mean rh_e, event E
380  // "<<rhEBpi0->size()<<" "<<etot/rhEBpi0->size()<<" "<<etot<<endl;
381 
382  // Pi0 maker
383 
384  // cout<< " RH coll size: "<<rhEBpi0->size()<<endl;
385  // cout<< " Pi0 seeds: "<<seeds.size()<<endl;
386 
387  int nClus;
388  vector<float> eClus;
389  vector<float> etClus;
390  vector<float> etaClus;
391  vector<float> thetaClus;
392  vector<float> phiClus;
393  vector<EBDetId> max_hit;
394 
395  vector<vector<EcalRecHit>> RecHitsCluster;
396  vector<vector<EcalRecHit>> RecHitsCluster5x5;
397  vector<float> s4s9Clus;
398  vector<float> s9s25Clus;
399 
400  nClus = 0;
401 
402  // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_)
403  sort(seeds.begin(), seeds.end(), ecalRecHitGreater);
404 
405  for (std::vector<EcalRecHit>::iterator itseed = seeds.begin(); itseed != seeds.end(); itseed++) {
406  EBDetId seed_id = itseed->id();
407  std::vector<EBDetId>::const_iterator usedIds;
408 
409  bool seedAlreadyUsed = false;
410  for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
411  if (*usedIds == seed_id) {
412  seedAlreadyUsed = true;
413  // cout<< " Seed with energy "<<itseed->energy()<<" was used
414  // !"<<endl;
415  break;
416  }
417  }
418  if (seedAlreadyUsed)
419  continue;
420  std::vector<DetId> clus_v = topology_p->getWindow(seed_id, clusEtaSize_, clusPhiSize_);
421  std::vector<std::pair<DetId, float>> clus_used;
422  // Reject the seed if not able to build the cluster around it correctly
423  // if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough
424  // RecHits "<<endl; continue;}
425  vector<EcalRecHit> RecHitsInWindow;
426  vector<EcalRecHit> RecHitsInWindow5x5;
427 
428  double simple_energy = 0;
429 
430  for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
431  EBDetId EBdet = *det;
432  // cout<<" det "<< EBdet<<" ieta "<<EBdet.ieta()<<" iphi
433  // "<<EBdet.iphi()<<endl;
434  bool HitAlreadyUsed = false;
435  for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
436  if (*usedIds == *det) {
437  HitAlreadyUsed = true;
438  break;
439  }
440  }
441  if (HitAlreadyUsed)
442  continue;
443 
444  std::vector<EBDetId>::iterator itdet = find(detIdEBRecHits.begin(), detIdEBRecHits.end(), EBdet);
445  if (itdet == detIdEBRecHits.end())
446  continue;
447 
448  int nn = int(itdet - detIdEBRecHits.begin());
449  usedXtals.push_back(*det);
450  RecHitsInWindow.push_back(EBRecHits[nn]);
451  clus_used.push_back(std::make_pair(*det, 1));
452  simple_energy = simple_energy + EBRecHits[nn].energy();
453  }
454 
455  if (simple_energy <= 0)
456  continue;
457 
458  math::XYZPoint clus_pos =
459  posCalculator_.Calculate_Location(clus_used, hitCollection_p, geometry_p, geometryES_p);
460  // cout<< " Simple Clustering: Total energy for this simple
461  // cluster : "<<simple_energy<<endl; cout<< " Simple Clustering:
462  // eta phi : "<<clus_pos.eta()<<" "<<clus_pos.phi()<<endl; cout<< "
463  // Simple Clustering: x y z : "<<clus_pos.x()<<" "<<clus_pos.y()<<"
464  // "<<clus_pos.z()<<endl;
465 
466  float theta_s = 2. * atan(exp(-clus_pos.eta()));
467  // float p0x_s = simple_energy * sin(theta_s) *
468  // cos(clus_pos.phi()); float p0y_s = simple_energy * sin(theta_s) *
469  // sin(clus_pos.phi());
470  // float p0z_s = simple_energy * cos(theta_s);
471  // float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s);
472 
473  float et_s = simple_energy * sin(theta_s);
474  // cout << " Simple Clustering: E,Et,px,py,pz: "<<simple_energy<<"
475  // "<<et_s<<" "<<p0x_s<<" "<<p0y_s<<" "<<endl;
476 
477  // Compute S4/S9 variable
478  // We are not sure to have 9 RecHits so need to check eta and phi:
480  float s4s9_tmp[4];
481  for (int i = 0; i < 4; i++)
482  s4s9_tmp[i] = 0;
483 
484  int seed_ieta = seed_id.ieta();
485  int seed_iphi = seed_id.iphi();
486 
487  convxtalid(seed_iphi, seed_ieta);
488 
489  float e3x3 = 0;
490  float e5x5 = 0;
491 
492  for (unsigned int j = 0; j < RecHitsInWindow.size(); j++) {
493  EBDetId det = (EBDetId)RecHitsInWindow[j].id();
494 
495  int ieta = det.ieta();
496  int iphi = det.iphi();
497 
498  convxtalid(iphi, ieta);
499 
500  float en = RecHitsInWindow[j].energy();
501 
502  int dx = diff_neta_s(seed_ieta, ieta);
503  int dy = diff_nphi_s(seed_iphi, iphi);
504 
505  if (dx <= 0 && dy <= 0)
506  s4s9_tmp[0] += en;
507  if (dx >= 0 && dy <= 0)
508  s4s9_tmp[1] += en;
509  if (dx <= 0 && dy >= 0)
510  s4s9_tmp[2] += en;
511  if (dx >= 0 && dy >= 0)
512  s4s9_tmp[3] += en;
513 
514  if (std::abs(dx) <= 1 && std::abs(dy) <= 1)
515  e3x3 += en;
516  if (std::abs(dx) <= 2 && std::abs(dy) <= 2)
517  e5x5 += en;
518  }
519 
520  if (e3x3 <= 0)
521  continue;
522 
523  float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3;
524 
526  std::vector<DetId> clus_v5x5 = topology_p->getWindow(seed_id, 5, 5);
527  for (std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++) {
528  EBDetId det = *idItr;
529 
530  std::vector<EBDetId>::iterator itdet0 = find(usedXtals.begin(), usedXtals.end(), det);
531 
533  if (itdet0 != usedXtals.end())
534  continue;
535 
536  // inside collections
537  std::vector<EBDetId>::iterator itdet = find(detIdEBRecHits.begin(), detIdEBRecHits.end(), det);
538  if (itdet == detIdEBRecHits.end())
539  continue;
540 
541  int nn = int(itdet - detIdEBRecHits.begin());
542 
543  RecHitsInWindow5x5.push_back(EBRecHits[nn]);
544  e5x5 += EBRecHits[nn].energy();
545  }
546 
547  if (e5x5 <= 0)
548  continue;
549 
550  eClus.push_back(simple_energy);
551  etClus.push_back(et_s);
552  etaClus.push_back(clus_pos.eta());
553  thetaClus.push_back(theta_s);
554  phiClus.push_back(clus_pos.phi());
555  s4s9Clus.push_back(s4s9_max);
556  s9s25Clus.push_back(e3x3 / e5x5);
557  RecHitsCluster.push_back(RecHitsInWindow);
558  RecHitsCluster5x5.push_back(RecHitsInWindow5x5);
559 
560  // std::cout<<" EB pi0 cluster (n,nxt,e,et eta,phi,s4s9)
561  //"<<nClus<<" "<<int(RecHitsInWindow.size())<<" "<<eClus[nClus]<<" "<<"
562  //"<<etClus[nClus]<<" "<<etaClus[nClus]<<" "<<phiClus[nClus]<<"
563  //"<<s4s9Clus[nClus]<<std::endl;
564 
565  nClus++;
566  }
567 
568  // cout<< " Pi0 clusters: "<<nClus<<endl;
569 
570  // Selection, based on Simple clustering
571  // pi0 candidates
572  int npi0_s = 0;
573 
574  // if (nClus <= 1) return;
575  for (Int_t i = 0; i < nClus; i++) {
576  for (Int_t j = i + 1; j < nClus; j++) {
577  // cout<<" i "<<i<<" etClus[i] "<<etClus[i]<<" j "<<j<<"
578  // etClus[j] "<<etClus[j]<<endl;
579  if (etClus[i] > selePtGamma_ && etClus[j] > selePtGamma_ && s4s9Clus[i] > seleS4S9Gamma_ &&
580  s4s9Clus[j] > seleS4S9Gamma_) {
581  float p0x = etClus[i] * cos(phiClus[i]);
582  float p1x = etClus[j] * cos(phiClus[j]);
583  float p0y = etClus[i] * sin(phiClus[i]);
584  float p1y = etClus[j] * sin(phiClus[j]);
585  float p0z = eClus[i] * cos(thetaClus[i]);
586  float p1z = eClus[j] * cos(thetaClus[j]);
587 
588  float pt_pair = sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
589 
590  if (pt_pair < selePtPi0_)
591  continue;
592 
593  float m_inv = sqrt((eClus[i] + eClus[j]) * (eClus[i] + eClus[j]) - (p0x + p1x) * (p0x + p1x) -
594  (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
595  if ((m_inv < seleMinvMaxPi0_) && (m_inv > seleMinvMinPi0_)) {
596  // New Loop on cluster to measure isolation:
597  vector<int> IsoClus;
598  IsoClus.clear();
599  float Iso = 0;
600  TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
601  for (Int_t k = 0; k < nClus; k++) {
602  if (etClus[k] < ptMinForIsolation_)
603  continue;
604 
605  if (k == i || k == j)
606  continue;
607  TVector3 ClusVect =
608  TVector3(etClus[k] * cos(phiClus[k]), etClus[k] * sin(phiClus[k]), eClus[k] * cos(thetaClus[k]));
609 
610  float dretacl = fabs(etaClus[k] - pairVect.Eta());
611  float drcl = ClusVect.DeltaR(pairVect);
612  // cout<< " Iso: k, E, drclpi0, detaclpi0, dphiclpi0
613  // "<<k<<" "<<eClus[k]<<" "<<drclpi0<<"
614  // "<<dretaclpi0<<endl;
615  if ((drcl < selePi0BeltDR_) && (dretacl < selePi0BeltDeta_)) {
616  // cout<< " ... good iso cluster #: "<<k<<"
617  // etClus[k] "<<etClus[k] <<endl;
618  Iso = Iso + etClus[k];
619  IsoClus.push_back(k);
620  }
621  }
622 
623  // cout<<" Iso/pt_pi0 "<<Iso/pt_pi0<<endl;
624  if (Iso / pt_pair < selePi0Iso_) {
625  // for(unsigned int
626  // Rec=0;Rec<RecHitsCluster[i].size();Rec++)pi0EBRecHitCollection->push_back(RecHitsCluster[i][Rec]);
627  // for(unsigned int
628  // Rec2=0;Rec2<RecHitsCluster[j].size();Rec2++)pi0EBRecHitCollection->push_back(RecHitsCluster[j][Rec2]);
629 
630  hMinvPi0EB_->Fill(m_inv);
631  hPt1Pi0EB_->Fill(etClus[i]);
632  hPt2Pi0EB_->Fill(etClus[j]);
633  hPtPi0EB_->Fill(pt_pair);
634  hIsoPi0EB_->Fill(Iso / pt_pair);
635  hS4S91Pi0EB_->Fill(s4s9Clus[i]);
636  hS4S92Pi0EB_->Fill(s4s9Clus[j]);
637 
638  // cout <<" EB Simple Clustering: pi0 Candidate
639  // pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<"
640  //"<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<"
641  //"<<m_inv<<" "<<i<<" "<<j<<" "<<endl;
642 
643  npi0_s++;
644  }
645  }
646  }
647  } // End of the "j" loop over Simple Clusters
648  } // End of the "i" loop over Simple Clusters
649 
650  // cout<<" (Simple Clustering) EB Pi0 candidates #: "<<npi0_s<<endl;
651 
652  } // rhEBpi0.valid() ends
653 
654  } // isMonEBpi0 ends
655 
656  //------------------ End of pi0 in EB --------------------------//
657 
658  // fill EB eta histos
659  if (isMonEBeta_) {
660  if (rhEBeta.isValid() && (!rhEBeta->empty())) {
661  const EcalRecHitCollection *hitCollection_p = rhEBeta.product();
662  float etot = 0;
663  for (itb = rhEBeta->begin(); itb != rhEBeta->end(); ++itb) {
664  EBDetId id(itb->id());
665  double energy = itb->energy();
666  if (energy < seleXtalMinEnergy_)
667  continue;
668 
669  EBDetId det = itb->id();
670 
671  detIdEBRecHits.push_back(det);
672  EBRecHits.push_back(*itb);
673 
674  if (energy > clusSeedThr_)
675  seeds.push_back(*itb);
676 
677  hiPhiDistrEBeta_->Fill(id.iphi());
678  hiEtaDistrEBeta_->Fill(id.ieta());
679  hRechitEnergyEBeta_->Fill(itb->energy());
680 
681  etot += itb->energy();
682  } // Eb rechits
683 
684  hNRecHitsEBeta_->Fill(rhEBeta->size());
685  hMeanRecHitEnergyEBeta_->Fill(etot / rhEBeta->size());
686  hEventEnergyEBeta_->Fill(etot);
687 
688  // cout << " EB RH Eta collection: #, mean rh_e, event E
689  // "<<rhEBeta->size()<<" "<<etot/rhEBeta->size()<<" "<<etot<<endl;
690 
691  // Eta maker
692 
693  // cout<< " RH coll size: "<<rhEBeta->size()<<endl;
694  // cout<< " Eta seeds: "<<seeds.size()<<endl;
695 
696  int nClus;
697  vector<float> eClus;
698  vector<float> etClus;
699  vector<float> etaClus;
700  vector<float> thetaClus;
701  vector<float> phiClus;
702  vector<EBDetId> max_hit;
703 
704  vector<vector<EcalRecHit>> RecHitsCluster;
705  vector<vector<EcalRecHit>> RecHitsCluster5x5;
706  vector<float> s4s9Clus;
707  vector<float> s9s25Clus;
708 
709  nClus = 0;
710 
711  // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_)
712  sort(seeds.begin(), seeds.end(), ecalRecHitGreater);
713 
714  for (std::vector<EcalRecHit>::iterator itseed = seeds.begin(); itseed != seeds.end(); itseed++) {
715  EBDetId seed_id = itseed->id();
716  std::vector<EBDetId>::const_iterator usedIds;
717 
718  bool seedAlreadyUsed = false;
719  for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
720  if (*usedIds == seed_id) {
721  seedAlreadyUsed = true;
722  // cout<< " Seed with energy "<<itseed->energy()<<" was used
723  // !"<<endl;
724  break;
725  }
726  }
727  if (seedAlreadyUsed)
728  continue;
729  std::vector<DetId> clus_v = topology_p->getWindow(seed_id, clusEtaSize_, clusPhiSize_);
730  std::vector<std::pair<DetId, float>> clus_used;
731  // Reject the seed if not able to build the cluster around it correctly
732  // if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough
733  // RecHits "<<endl; continue;}
734  vector<EcalRecHit> RecHitsInWindow;
735  vector<EcalRecHit> RecHitsInWindow5x5;
736 
737  double simple_energy = 0;
738 
739  for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
740  EBDetId EBdet = *det;
741  // cout<<" det "<< EBdet<<" ieta "<<EBdet.ieta()<<" iphi
742  // "<<EBdet.iphi()<<endl;
743  bool HitAlreadyUsed = false;
744  for (usedIds = usedXtals.begin(); usedIds != usedXtals.end(); usedIds++) {
745  if (*usedIds == *det) {
746  HitAlreadyUsed = true;
747  break;
748  }
749  }
750  if (HitAlreadyUsed)
751  continue;
752 
753  std::vector<EBDetId>::iterator itdet = find(detIdEBRecHits.begin(), detIdEBRecHits.end(), EBdet);
754  if (itdet == detIdEBRecHits.end())
755  continue;
756 
757  int nn = int(itdet - detIdEBRecHits.begin());
758  usedXtals.push_back(*det);
759  RecHitsInWindow.push_back(EBRecHits[nn]);
760  clus_used.push_back(std::make_pair(*det, 1));
761  simple_energy = simple_energy + EBRecHits[nn].energy();
762  }
763 
764  if (simple_energy <= 0)
765  continue;
766 
767  math::XYZPoint clus_pos =
768  posCalculator_.Calculate_Location(clus_used, hitCollection_p, geometry_p, geometryES_p);
769  // cout<< " Simple Clustering: Total energy for this simple
770  // cluster : "<<simple_energy<<endl; cout<< " Simple Clustering:
771  // eta phi : "<<clus_pos.eta()<<" "<<clus_pos.phi()<<endl; cout<< "
772  // Simple Clustering: x y z : "<<clus_pos.x()<<" "<<clus_pos.y()<<"
773  // "<<clus_pos.z()<<endl;
774 
775  float theta_s = 2. * atan(exp(-clus_pos.eta()));
776  // float p0x_s = simple_energy * sin(theta_s) *
777  // cos(clus_pos.phi()); float p0y_s = simple_energy * sin(theta_s) *
778  // sin(clus_pos.phi());
779  // float p0z_s = simple_energy * cos(theta_s);
780  // float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s);
781 
782  float et_s = simple_energy * sin(theta_s);
783  // cout << " Simple Clustering: E,Et,px,py,pz: "<<simple_energy<<"
784  // "<<et_s<<" "<<p0x_s<<" "<<p0y_s<<" "<<endl;
785 
786  // Compute S4/S9 variable
787  // We are not sure to have 9 RecHits so need to check eta and phi:
789  float s4s9_tmp[4];
790  for (int i = 0; i < 4; i++)
791  s4s9_tmp[i] = 0;
792 
793  int seed_ieta = seed_id.ieta();
794  int seed_iphi = seed_id.iphi();
795 
796  convxtalid(seed_iphi, seed_ieta);
797 
798  float e3x3 = 0;
799  float e5x5 = 0;
800 
801  for (unsigned int j = 0; j < RecHitsInWindow.size(); j++) {
802  EBDetId det = (EBDetId)RecHitsInWindow[j].id();
803 
804  int ieta = det.ieta();
805  int iphi = det.iphi();
806 
807  convxtalid(iphi, ieta);
808 
809  float en = RecHitsInWindow[j].energy();
810 
811  int dx = diff_neta_s(seed_ieta, ieta);
812  int dy = diff_nphi_s(seed_iphi, iphi);
813 
814  if (dx <= 0 && dy <= 0)
815  s4s9_tmp[0] += en;
816  if (dx >= 0 && dy <= 0)
817  s4s9_tmp[1] += en;
818  if (dx <= 0 && dy >= 0)
819  s4s9_tmp[2] += en;
820  if (dx >= 0 && dy >= 0)
821  s4s9_tmp[3] += en;
822 
823  if (std::abs(dx) <= 1 && std::abs(dy) <= 1)
824  e3x3 += en;
825  if (std::abs(dx) <= 2 && std::abs(dy) <= 2)
826  e5x5 += en;
827  }
828 
829  if (e3x3 <= 0)
830  continue;
831 
832  float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3;
833 
835  std::vector<DetId> clus_v5x5 = topology_p->getWindow(seed_id, 5, 5);
836  for (std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++) {
837  EBDetId det = *idItr;
838 
839  std::vector<EBDetId>::iterator itdet0 = find(usedXtals.begin(), usedXtals.end(), det);
840 
842  if (itdet0 != usedXtals.end())
843  continue;
844 
845  // inside collections
846  std::vector<EBDetId>::iterator itdet = find(detIdEBRecHits.begin(), detIdEBRecHits.end(), det);
847  if (itdet == detIdEBRecHits.end())
848  continue;
849 
850  int nn = int(itdet - detIdEBRecHits.begin());
851 
852  RecHitsInWindow5x5.push_back(EBRecHits[nn]);
853  e5x5 += EBRecHits[nn].energy();
854  }
855 
856  if (e5x5 <= 0)
857  continue;
858 
859  eClus.push_back(simple_energy);
860  etClus.push_back(et_s);
861  etaClus.push_back(clus_pos.eta());
862  thetaClus.push_back(theta_s);
863  phiClus.push_back(clus_pos.phi());
864  s4s9Clus.push_back(s4s9_max);
865  s9s25Clus.push_back(e3x3 / e5x5);
866  RecHitsCluster.push_back(RecHitsInWindow);
867  RecHitsCluster5x5.push_back(RecHitsInWindow5x5);
868 
869  // std::cout<<" EB Eta cluster (n,nxt,e,et eta,phi,s4s9)
870  //"<<nClus<<" "<<int(RecHitsInWindow.size())<<" "<<eClus[nClus]<<" "<<"
871  //"<<etClus[nClus]<<" "<<etaClus[nClus]<<" "<<phiClus[nClus]<<"
872  //"<<s4s9Clus[nClus]<<std::endl;
873 
874  nClus++;
875  }
876 
877  // cout<< " Eta clusters: "<<nClus<<endl;
878 
879  // Selection, based on Simple clustering
880  // eta candidates
881  int npi0_s = 0;
882 
883  // if (nClus <= 1) return;
884  for (Int_t i = 0; i < nClus; i++) {
885  for (Int_t j = i + 1; j < nClus; j++) {
886  // cout<<" i "<<i<<" etClus[i] "<<etClus[i]<<" j "<<j<<"
887  // etClus[j] "<<etClus[j]<<endl;
888  if (etClus[i] > selePtGammaEta_ && etClus[j] > selePtGammaEta_ && s4s9Clus[i] > seleS4S9GammaEta_ &&
889  s4s9Clus[j] > seleS4S9GammaEta_) {
890  float p0x = etClus[i] * cos(phiClus[i]);
891  float p1x = etClus[j] * cos(phiClus[j]);
892  float p0y = etClus[i] * sin(phiClus[i]);
893  float p1y = etClus[j] * sin(phiClus[j]);
894  float p0z = eClus[i] * cos(thetaClus[i]);
895  float p1z = eClus[j] * cos(thetaClus[j]);
896 
897  float pt_pair = sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
898 
899  if (pt_pair < selePtEta_)
900  continue;
901 
902  float m_inv = sqrt((eClus[i] + eClus[j]) * (eClus[i] + eClus[j]) - (p0x + p1x) * (p0x + p1x) -
903  (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
904  if ((m_inv < seleMinvMaxEta_) && (m_inv > seleMinvMinEta_)) {
905  // New Loop on cluster to measure isolation:
906  vector<int> IsoClus;
907  IsoClus.clear();
908  float Iso = 0;
909  TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
910  for (Int_t k = 0; k < nClus; k++) {
911  if (etClus[k] < ptMinForIsolationEta_)
912  continue;
913 
914  if (k == i || k == j)
915  continue;
916  TVector3 ClusVect =
917  TVector3(etClus[k] * cos(phiClus[k]), etClus[k] * sin(phiClus[k]), eClus[k] * cos(thetaClus[k]));
918 
919  float dretacl = fabs(etaClus[k] - pairVect.Eta());
920  float drcl = ClusVect.DeltaR(pairVect);
921  // cout<< " Iso: k, E, drclpi0, detaclpi0, dphiclpi0
922  // "<<k<<" "<<eClus[k]<<" "<<drclpi0<<"
923  // "<<dretaclpi0<<endl;
924  if ((drcl < seleEtaBeltDR_) && (dretacl < seleEtaBeltDeta_)) {
925  // cout<< " ... good iso cluster #: "<<k<<"
926  // etClus[k] "<<etClus[k] <<endl;
927  Iso = Iso + etClus[k];
928  IsoClus.push_back(k);
929  }
930  }
931 
932  // cout<<" Iso/pt_pi0 "<<Iso/pt_pi0<<endl;
933  if (Iso / pt_pair < seleEtaIso_) {
934  // for(unsigned int
935  // Rec=0;Rec<RecHitsCluster[i].size();Rec++)pi0EBRecHitCollection->push_back(RecHitsCluster[i][Rec]);
936  // for(unsigned int
937  // Rec2=0;Rec2<RecHitsCluster[j].size();Rec2++)pi0EBRecHitCollection->push_back(RecHitsCluster[j][Rec2]);
938 
939  hMinvEtaEB_->Fill(m_inv);
940  hPt1EtaEB_->Fill(etClus[i]);
941  hPt2EtaEB_->Fill(etClus[j]);
942  hPtEtaEB_->Fill(pt_pair);
943  hIsoEtaEB_->Fill(Iso / pt_pair);
944  hS4S91EtaEB_->Fill(s4s9Clus[i]);
945  hS4S92EtaEB_->Fill(s4s9Clus[j]);
946 
947  // cout <<" EB Simple Clustering: Eta Candidate
948  // pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<"
949  //"<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<"
950  //"<<m_inv<<" "<<i<<" "<<j<<" "<<endl;
951 
952  npi0_s++;
953  }
954  }
955  }
956  } // End of the "j" loop over Simple Clusters
957  } // End of the "i" loop over Simple Clusters
958 
959  // cout<<" (Simple Clustering) EB Eta candidates #: "<<npi0_s<<endl;
960 
961  } // rhEBeta.valid() ends
962 
963  } // isMonEBeta ends
964 
965  //------------------ End of Eta in EB --------------------------//
966 
967  //----------------- End of the EB --------------------------//
968 
969  //----------------- Start of the EE --------------------//
970 
971  // fill pi0 EE histos
972  if (isMonEEpi0_) {
973  if (rhEEpi0.isValid() && (!rhEEpi0->empty())) {
974  const EcalRecHitCollection *hitCollection_ee = rhEEpi0.product();
975  float etot = 0;
976 
977  detIdEERecHits.clear();
978  EERecHits.clear();
979 
980  std::vector<EcalRecHit> seedsEndCap;
981  seedsEndCap.clear();
982 
983  vector<EEDetId> usedXtalsEndCap;
984  usedXtalsEndCap.clear();
985 
988  for (ite = rhEEpi0->begin(); ite != rhEEpi0->end(); ite++) {
989  double energy = ite->energy();
990  if (energy < seleXtalMinEnergyEndCap_)
991  continue;
992 
993  EEDetId det = ite->id();
994  EEDetId id(ite->id());
995 
996  detIdEERecHits.push_back(det);
997  EERecHits.push_back(*ite);
998 
999  hiXDistrEEpi0_->Fill(id.ix());
1000  hiYDistrEEpi0_->Fill(id.iy());
1001  hRechitEnergyEEpi0_->Fill(ite->energy());
1002 
1003  if (energy > clusSeedThrEndCap_)
1004  seedsEndCap.push_back(*ite);
1005 
1006  etot += ite->energy();
1007  } // EE rechits
1008 
1009  hNRecHitsEEpi0_->Fill(rhEEpi0->size());
1010  hMeanRecHitEnergyEEpi0_->Fill(etot / rhEEpi0->size());
1011  hEventEnergyEEpi0_->Fill(etot);
1012 
1013  // cout << " EE RH Pi0 collection: #, mean rh_e, event E
1014  // "<<rhEEpi0->size()<<" "<<etot/rhEEpi0->size()<<" "<<etot<<endl;
1015 
1016  int nClusEndCap;
1017  vector<float> eClusEndCap;
1018  vector<float> etClusEndCap;
1019  vector<float> etaClusEndCap;
1020  vector<float> thetaClusEndCap;
1021  vector<float> phiClusEndCap;
1022  vector<vector<EcalRecHit>> RecHitsClusterEndCap;
1023  vector<vector<EcalRecHit>> RecHitsCluster5x5EndCap;
1024  vector<float> s4s9ClusEndCap;
1025  vector<float> s9s25ClusEndCap;
1026 
1027  nClusEndCap = 0;
1028 
1029  // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_)
1030  sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater);
1031 
1032  for (std::vector<EcalRecHit>::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) {
1033  EEDetId seed_id = itseed->id();
1034  std::vector<EEDetId>::const_iterator usedIds;
1035 
1036  bool seedAlreadyUsed = false;
1037  for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1038  if (*usedIds == seed_id) {
1039  seedAlreadyUsed = true;
1040  break;
1041  }
1042  }
1043 
1044  if (seedAlreadyUsed)
1045  continue;
1046  std::vector<DetId> clus_v = topology_ee->getWindow(seed_id, clusEtaSize_, clusPhiSize_);
1047  std::vector<std::pair<DetId, float>> clus_used;
1048 
1049  vector<EcalRecHit> RecHitsInWindow;
1050  vector<EcalRecHit> RecHitsInWindow5x5;
1051 
1052  float simple_energy = 0;
1053 
1054  for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
1055  EEDetId EEdet = *det;
1056 
1057  bool HitAlreadyUsed = false;
1058  for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1059  if (*usedIds == *det) {
1060  HitAlreadyUsed = true;
1061  break;
1062  }
1063  }
1064 
1065  if (HitAlreadyUsed)
1066  continue;
1067 
1068  std::vector<EEDetId>::iterator itdet = find(detIdEERecHits.begin(), detIdEERecHits.end(), EEdet);
1069  if (itdet == detIdEERecHits.end())
1070  continue;
1071 
1072  int nn = int(itdet - detIdEERecHits.begin());
1073  usedXtalsEndCap.push_back(*det);
1074  RecHitsInWindow.push_back(EERecHits[nn]);
1075  clus_used.push_back(std::make_pair(*det, 1));
1076  simple_energy = simple_energy + EERecHits[nn].energy();
1077  }
1078 
1079  if (simple_energy <= 0)
1080  continue;
1081 
1082  math::XYZPoint clus_pos =
1083  posCalculator_.Calculate_Location(clus_used, hitCollection_ee, geometryEE_p, geometryES_p);
1084 
1085  float theta_s = 2. * atan(exp(-clus_pos.eta()));
1086  float et_s = simple_energy * sin(theta_s);
1087  // float p0x_s = simple_energy * sin(theta_s) *
1088  // cos(clus_pos.phi()); float p0y_s = simple_energy * sin(theta_s) *
1089  // sin(clus_pos.phi()); float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s);
1090 
1091  // Compute S4/S9 variable
1092  // We are not sure to have 9 RecHits so need to check eta and phi:
1093  float s4s9_tmp[4];
1094  for (int i = 0; i < 4; i++)
1095  s4s9_tmp[i] = 0;
1096 
1097  int ixSeed = seed_id.ix();
1098  int iySeed = seed_id.iy();
1099  float e3x3 = 0;
1100  float e5x5 = 0;
1101 
1102  for (unsigned int j = 0; j < RecHitsInWindow.size(); j++) {
1103  EEDetId det_this = (EEDetId)RecHitsInWindow[j].id();
1104  int dx = ixSeed - det_this.ix();
1105  int dy = iySeed - det_this.iy();
1106 
1107  float en = RecHitsInWindow[j].energy();
1108 
1109  if (dx <= 0 && dy <= 0)
1110  s4s9_tmp[0] += en;
1111  if (dx >= 0 && dy <= 0)
1112  s4s9_tmp[1] += en;
1113  if (dx <= 0 && dy >= 0)
1114  s4s9_tmp[2] += en;
1115  if (dx >= 0 && dy >= 0)
1116  s4s9_tmp[3] += en;
1117 
1118  if (std::abs(dx) <= 1 && std::abs(dy) <= 1)
1119  e3x3 += en;
1120  if (std::abs(dx) <= 2 && std::abs(dy) <= 2)
1121  e5x5 += en;
1122  }
1123 
1124  if (e3x3 <= 0)
1125  continue;
1126 
1127  eClusEndCap.push_back(simple_energy);
1128  etClusEndCap.push_back(et_s);
1129  etaClusEndCap.push_back(clus_pos.eta());
1130  thetaClusEndCap.push_back(theta_s);
1131  phiClusEndCap.push_back(clus_pos.phi());
1132  s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3);
1133  s9s25ClusEndCap.push_back(e3x3 / e5x5);
1134  RecHitsClusterEndCap.push_back(RecHitsInWindow);
1135  RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5);
1136 
1137  // std::cout<<" EE pi0 cluster (n,nxt,e,et eta,phi,s4s9)
1138  //"<<nClusEndCap<<" "<<int(RecHitsInWindow.size())<<"
1139  //"<<eClusEndCap[nClusEndCap]<<" "<<" "<<etClusEndCap[nClusEndCap]<<"
1140  //"<<etaClusEndCap[nClusEndCap]<<" "<<phiClusEndCap[nClusEndCap]<<"
1141  //"<<s4s9ClusEndCap[nClusEndCap]<<std::endl;
1142 
1143  nClusEndCap++;
1144  }
1145 
1146  // Selection, based on Simple clustering
1147  // pi0 candidates
1148  int npi0_se = 0;
1149 
1150  for (Int_t i = 0; i < nClusEndCap; i++) {
1151  for (Int_t j = i + 1; j < nClusEndCap; j++) {
1152  if (etClusEndCap[i] > selePtGammaEndCap_ && etClusEndCap[j] > selePtGammaEndCap_ &&
1153  s4s9ClusEndCap[i] > seleS4S9GammaEndCap_ && s4s9ClusEndCap[j] > seleS4S9GammaEndCap_) {
1154  float p0x = etClusEndCap[i] * cos(phiClusEndCap[i]);
1155  float p1x = etClusEndCap[j] * cos(phiClusEndCap[j]);
1156  float p0y = etClusEndCap[i] * sin(phiClusEndCap[i]);
1157  float p1y = etClusEndCap[j] * sin(phiClusEndCap[j]);
1158  float p0z = eClusEndCap[i] * cos(thetaClusEndCap[i]);
1159  float p1z = eClusEndCap[j] * cos(thetaClusEndCap[j]);
1160 
1161  float pt_pair = sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
1162  if (pt_pair < selePtPi0EndCap_)
1163  continue;
1164  float m_inv = sqrt((eClusEndCap[i] + eClusEndCap[j]) * (eClusEndCap[i] + eClusEndCap[j]) -
1165  (p0x + p1x) * (p0x + p1x) - (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
1166 
1167  if ((m_inv < seleMinvMaxPi0EndCap_) && (m_inv > seleMinvMinPi0EndCap_)) {
1168  // New Loop on cluster to measure isolation:
1169  vector<int> IsoClus;
1170  IsoClus.clear();
1171  float Iso = 0;
1172  TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
1173  for (Int_t k = 0; k < nClusEndCap; k++) {
1174  if (etClusEndCap[k] < ptMinForIsolationEndCap_)
1175  continue;
1176 
1177  if (k == i || k == j)
1178  continue;
1179 
1180  TVector3 clusVect = TVector3(etClusEndCap[k] * cos(phiClusEndCap[k]),
1181  etClusEndCap[k] * sin(phiClusEndCap[k]),
1182  eClusEndCap[k] * cos(thetaClusEndCap[k]));
1183  float dretacl = fabs(etaClusEndCap[k] - pairVect.Eta());
1184  float drcl = clusVect.DeltaR(pairVect);
1185 
1186  if (drcl < selePi0BeltDREndCap_ && dretacl < selePi0BeltDetaEndCap_) {
1187  Iso = Iso + etClusEndCap[k];
1188  IsoClus.push_back(k);
1189  }
1190  }
1191 
1192  if (Iso / pt_pair < selePi0IsoEndCap_) {
1193  // cout <<" EE Simple Clustering: pi0 Candidate pt, eta, phi,
1194  // Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<"
1195  // "<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<"
1196  // "<<endl;
1197 
1198  hMinvPi0EE_->Fill(m_inv);
1199  hPt1Pi0EE_->Fill(etClusEndCap[i]);
1200  hPt2Pi0EE_->Fill(etClusEndCap[j]);
1201  hPtPi0EE_->Fill(pt_pair);
1202  hIsoPi0EE_->Fill(Iso / pt_pair);
1203  hS4S91Pi0EE_->Fill(s4s9ClusEndCap[i]);
1204  hS4S92Pi0EE_->Fill(s4s9ClusEndCap[j]);
1205 
1206  npi0_se++;
1207  }
1208  }
1209  }
1210  } // End of the "j" loop over Simple Clusters
1211  } // End of the "i" loop over Simple Clusters
1212 
1213  // cout<<" (Simple Clustering) EE Pi0 candidates #:
1214  // "<<npi0_se<<endl;
1215 
1216  } // rhEEpi0
1217  } // isMonEEpi0
1218 
1219  //================End of Pi0 endcap=======================//
1220 
1221  //================ Eta in EE===============================//
1222 
1223  // fill pi0 EE histos
1224  if (isMonEEeta_) {
1225  if (rhEEeta.isValid() && (!rhEEeta->empty())) {
1226  const EcalRecHitCollection *hitCollection_ee = rhEEeta.product();
1227  float etot = 0;
1228 
1229  detIdEERecHits.clear();
1230  EERecHits.clear();
1231 
1232  std::vector<EcalRecHit> seedsEndCap;
1233  seedsEndCap.clear();
1234 
1235  vector<EEDetId> usedXtalsEndCap;
1236  usedXtalsEndCap.clear();
1237 
1240  for (ite = rhEEeta->begin(); ite != rhEEeta->end(); ite++) {
1241  double energy = ite->energy();
1242  if (energy < seleXtalMinEnergyEndCap_)
1243  continue;
1244 
1245  EEDetId det = ite->id();
1246  EEDetId id(ite->id());
1247 
1248  detIdEERecHits.push_back(det);
1249  EERecHits.push_back(*ite);
1250 
1251  hiXDistrEEeta_->Fill(id.ix());
1252  hiYDistrEEeta_->Fill(id.iy());
1253  hRechitEnergyEEeta_->Fill(ite->energy());
1254 
1255  if (energy > clusSeedThrEndCap_)
1256  seedsEndCap.push_back(*ite);
1257 
1258  etot += ite->energy();
1259  } // EE rechits
1260 
1261  hNRecHitsEEeta_->Fill(rhEEeta->size());
1262  hMeanRecHitEnergyEEeta_->Fill(etot / rhEEeta->size());
1263  hEventEnergyEEeta_->Fill(etot);
1264 
1265  // cout << " EE RH Eta collection: #, mean rh_e, event E
1266  // "<<rhEEeta->size()<<" "<<etot/rhEEeta->size()<<" "<<etot<<endl;
1267 
1268  int nClusEndCap;
1269  vector<float> eClusEndCap;
1270  vector<float> etClusEndCap;
1271  vector<float> etaClusEndCap;
1272  vector<float> thetaClusEndCap;
1273  vector<float> phiClusEndCap;
1274  vector<vector<EcalRecHit>> RecHitsClusterEndCap;
1275  vector<vector<EcalRecHit>> RecHitsCluster5x5EndCap;
1276  vector<float> s4s9ClusEndCap;
1277  vector<float> s9s25ClusEndCap;
1278 
1279  nClusEndCap = 0;
1280 
1281  // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_)
1282  sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater);
1283 
1284  for (std::vector<EcalRecHit>::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) {
1285  EEDetId seed_id = itseed->id();
1286  std::vector<EEDetId>::const_iterator usedIds;
1287 
1288  bool seedAlreadyUsed = false;
1289  for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1290  if (*usedIds == seed_id) {
1291  seedAlreadyUsed = true;
1292  break;
1293  }
1294  }
1295 
1296  if (seedAlreadyUsed)
1297  continue;
1298  std::vector<DetId> clus_v = topology_ee->getWindow(seed_id, clusEtaSize_, clusPhiSize_);
1299  std::vector<std::pair<DetId, float>> clus_used;
1300 
1301  vector<EcalRecHit> RecHitsInWindow;
1302  vector<EcalRecHit> RecHitsInWindow5x5;
1303 
1304  float simple_energy = 0;
1305 
1306  for (std::vector<DetId>::iterator det = clus_v.begin(); det != clus_v.end(); det++) {
1307  EEDetId EEdet = *det;
1308 
1309  bool HitAlreadyUsed = false;
1310  for (usedIds = usedXtalsEndCap.begin(); usedIds != usedXtalsEndCap.end(); usedIds++) {
1311  if (*usedIds == *det) {
1312  HitAlreadyUsed = true;
1313  break;
1314  }
1315  }
1316 
1317  if (HitAlreadyUsed)
1318  continue;
1319 
1320  std::vector<EEDetId>::iterator itdet = find(detIdEERecHits.begin(), detIdEERecHits.end(), EEdet);
1321  if (itdet == detIdEERecHits.end())
1322  continue;
1323 
1324  int nn = int(itdet - detIdEERecHits.begin());
1325  usedXtalsEndCap.push_back(*det);
1326  RecHitsInWindow.push_back(EERecHits[nn]);
1327  clus_used.push_back(std::make_pair(*det, 1));
1328  simple_energy = simple_energy + EERecHits[nn].energy();
1329  }
1330 
1331  if (simple_energy <= 0)
1332  continue;
1333 
1334  math::XYZPoint clus_pos =
1335  posCalculator_.Calculate_Location(clus_used, hitCollection_ee, geometryEE_p, geometryES_p);
1336 
1337  float theta_s = 2. * atan(exp(-clus_pos.eta()));
1338  float et_s = simple_energy * sin(theta_s);
1339  // float p0x_s = simple_energy * sin(theta_s) *
1340  // cos(clus_pos.phi()); float p0y_s = simple_energy * sin(theta_s) *
1341  // sin(clus_pos.phi()); float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s);
1342 
1343  // Compute S4/S9 variable
1344  // We are not sure to have 9 RecHits so need to check eta and phi:
1345  float s4s9_tmp[4];
1346  for (int i = 0; i < 4; i++)
1347  s4s9_tmp[i] = 0;
1348 
1349  int ixSeed = seed_id.ix();
1350  int iySeed = seed_id.iy();
1351  float e3x3 = 0;
1352  float e5x5 = 0;
1353 
1354  for (unsigned int j = 0; j < RecHitsInWindow.size(); j++) {
1355  EEDetId det_this = (EEDetId)RecHitsInWindow[j].id();
1356  int dx = ixSeed - det_this.ix();
1357  int dy = iySeed - det_this.iy();
1358 
1359  float en = RecHitsInWindow[j].energy();
1360 
1361  if (dx <= 0 && dy <= 0)
1362  s4s9_tmp[0] += en;
1363  if (dx >= 0 && dy <= 0)
1364  s4s9_tmp[1] += en;
1365  if (dx <= 0 && dy >= 0)
1366  s4s9_tmp[2] += en;
1367  if (dx >= 0 && dy >= 0)
1368  s4s9_tmp[3] += en;
1369 
1370  if (std::abs(dx) <= 1 && std::abs(dy) <= 1)
1371  e3x3 += en;
1372  if (std::abs(dx) <= 2 && std::abs(dy) <= 2)
1373  e5x5 += en;
1374  }
1375 
1376  if (e3x3 <= 0)
1377  continue;
1378 
1379  eClusEndCap.push_back(simple_energy);
1380  etClusEndCap.push_back(et_s);
1381  etaClusEndCap.push_back(clus_pos.eta());
1382  thetaClusEndCap.push_back(theta_s);
1383  phiClusEndCap.push_back(clus_pos.phi());
1384  s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3);
1385  s9s25ClusEndCap.push_back(e3x3 / e5x5);
1386  RecHitsClusterEndCap.push_back(RecHitsInWindow);
1387  RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5);
1388 
1389  // std::cout<<" EE Eta cluster (n,nxt,e,et eta,phi,s4s9)
1390  //"<<nClusEndCap<<" "<<int(RecHitsInWindow.size())<<"
1391  //"<<eClusEndCap[nClusEndCap]<<" "<<" "<<etClusEndCap[nClusEndCap]<<"
1392  //"<<etaClusEndCap[nClusEndCap]<<" "<<phiClusEndCap[nClusEndCap]<<"
1393  //"<<s4s9ClusEndCap[nClusEndCap]<<std::endl;
1394 
1395  nClusEndCap++;
1396  }
1397 
1398  // Selection, based on Simple clustering
1399  // pi0 candidates
1400  int npi0_se = 0;
1401 
1402  for (Int_t i = 0; i < nClusEndCap; i++) {
1403  for (Int_t j = i + 1; j < nClusEndCap; j++) {
1404  if (etClusEndCap[i] > selePtGammaEtaEndCap_ && etClusEndCap[j] > selePtGammaEtaEndCap_ &&
1405  s4s9ClusEndCap[i] > seleS4S9GammaEtaEndCap_ && s4s9ClusEndCap[j] > seleS4S9GammaEtaEndCap_) {
1406  float p0x = etClusEndCap[i] * cos(phiClusEndCap[i]);
1407  float p1x = etClusEndCap[j] * cos(phiClusEndCap[j]);
1408  float p0y = etClusEndCap[i] * sin(phiClusEndCap[i]);
1409  float p1y = etClusEndCap[j] * sin(phiClusEndCap[j]);
1410  float p0z = eClusEndCap[i] * cos(thetaClusEndCap[i]);
1411  float p1z = eClusEndCap[j] * cos(thetaClusEndCap[j]);
1412 
1413  float pt_pair = sqrt((p0x + p1x) * (p0x + p1x) + (p0y + p1y) * (p0y + p1y));
1414  if (pt_pair < selePtEtaEndCap_)
1415  continue;
1416  float m_inv = sqrt((eClusEndCap[i] + eClusEndCap[j]) * (eClusEndCap[i] + eClusEndCap[j]) -
1417  (p0x + p1x) * (p0x + p1x) - (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z));
1418 
1419  if ((m_inv < seleMinvMaxEtaEndCap_) && (m_inv > seleMinvMinEtaEndCap_)) {
1420  // New Loop on cluster to measure isolation:
1421  vector<int> IsoClus;
1422  IsoClus.clear();
1423  float Iso = 0;
1424  TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z));
1425  for (Int_t k = 0; k < nClusEndCap; k++) {
1426  if (etClusEndCap[k] < ptMinForIsolationEtaEndCap_)
1427  continue;
1428 
1429  if (k == i || k == j)
1430  continue;
1431 
1432  TVector3 clusVect = TVector3(etClusEndCap[k] * cos(phiClusEndCap[k]),
1433  etClusEndCap[k] * sin(phiClusEndCap[k]),
1434  eClusEndCap[k] * cos(thetaClusEndCap[k]));
1435  float dretacl = fabs(etaClusEndCap[k] - pairVect.Eta());
1436  float drcl = clusVect.DeltaR(pairVect);
1437 
1438  if (drcl < seleEtaBeltDREndCap_ && dretacl < seleEtaBeltDetaEndCap_) {
1439  Iso = Iso + etClusEndCap[k];
1440  IsoClus.push_back(k);
1441  }
1442  }
1443 
1444  if (Iso / pt_pair < seleEtaIsoEndCap_) {
1445  // cout <<" EE Simple Clustering: Eta Candidate pt, eta,
1446  // phi, Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<"
1447  //"<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<"
1448  //"<<endl;
1449 
1450  hMinvEtaEE_->Fill(m_inv);
1451  hPt1EtaEE_->Fill(etClusEndCap[i]);
1452  hPt2EtaEE_->Fill(etClusEndCap[j]);
1453  hPtEtaEE_->Fill(pt_pair);
1454  hIsoEtaEE_->Fill(Iso / pt_pair);
1455  hS4S91EtaEE_->Fill(s4s9ClusEndCap[i]);
1456  hS4S92EtaEE_->Fill(s4s9ClusEndCap[j]);
1457 
1458  npi0_se++;
1459  }
1460  }
1461  }
1462  } // End of the "j" loop over Simple Clusters
1463  } // End of the "i" loop over Simple Clusters
1464 
1465  // cout<<" (Simple Clustering) EE Eta candidates #:
1466  // "<<npi0_se<<endl;
1467 
1468  } // rhEEeta
1469  } // isMonEEeta
1470 
1471  //================End of Pi0 endcap=======================//
1472 
1474 }
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEEeta_
Definition: DQMSourcePi0.h:208
double seleEtaBeltDREndCap_
Definition: DQMSourcePi0.h:265
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
MonitorElement * hiYDistrEEeta_
Distribution of rechits in iy EE (eta)
Definition: DQMSourcePi0.h:68
MonitorElement * hMinvPi0EE_
Pi0 invariant mass in EE.
Definition: DQMSourcePi0.h:122
double seleMinvMinPi0EndCap_
Definition: DQMSourcePi0.h:237
MonitorElement * hiXDistrEEeta_
Distribution of rechits in ix EE (eta)
Definition: DQMSourcePi0.h:56
MonitorElement * hiPhiDistrEBpi0_
Distribution of rechits in iPhi (pi0)
Definition: DQMSourcePi0.h:47
MonitorElement * hPt1Pi0EB_
Pt of the 1st most energetic Pi0 photon in EB.
Definition: DQMSourcePi0.h:131
int ix() const
Definition: EEDetId.h:77
MonitorElement * hPt2Pi0EE_
Pt of the 2nd most energetic Pi0 photon in EE.
Definition: DQMSourcePi0.h:146
MonitorElement * hiYDistrEEpi0_
Distribution of rechits in iy EE (pi0)
Definition: DQMSourcePi0.h:62
double ptMinForIsolationEtaEndCap_
Definition: DQMSourcePi0.h:263
MonitorElement * hPtPi0EE_
Pi0 Pt in EE.
Definition: DQMSourcePi0.h:158
MonitorElement * hMinvEtaEB_
Eta invariant mass in EB.
Definition: DQMSourcePi0.h:125
double seleEtaBeltDR_
Definition: DQMSourcePi0.h:253
std::vector< EEDetId > detIdEERecHits
Definition: DQMSourcePi0.h:278
PositionCalc posCalculator_
Definition: DQMSourcePi0.h:44
double seleMinvMinEtaEndCap_
Definition: DQMSourcePi0.h:262
MonitorElement * hS4S92EtaEB_
S4S9 of the 2nd most energetic eta photon.
Definition: DQMSourcePi0.h:197
std::vector< EBDetId > detIdEBRecHits
Definition: DQMSourcePi0.h:275
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEBeta_
Definition: DQMSourcePi0.h:204
double selePtGammaEndCap_
for pi0->gg endcap
Definition: DQMSourcePi0.h:234
MonitorElement * hMeanRecHitEnergyEBeta_
Distribution of Mean energy per rechit EB (eta)
Definition: DQMSourcePi0.h:113
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
double seleMinvMaxPi0EndCap_
Definition: DQMSourcePi0.h:236
std::vector< EcalRecHit >::const_iterator const_iterator
MonitorElement * hMeanRecHitEnergyEEpi0_
Distribution of Mean energy per rechit EE (pi0)
Definition: DQMSourcePi0.h:110
MonitorElement * hNRecHitsEBpi0_
Distribution of number of RecHits EB (pi0)
Definition: DQMSourcePi0.h:95
MonitorElement * hPt2EtaEE_
Pt of the 2nd most energetic Eta photon in EE.
Definition: DQMSourcePi0.h:152
MonitorElement * hRechitEnergyEBpi0_
Energy Distribution of rechits EB (pi0)
Definition: DQMSourcePi0.h:71
double clusSeedThr_
Definition: DQMSourcePi0.h:216
MonitorElement * hRechitEnergyEEpi0_
Energy Distribution of rechits EE (pi0)
Definition: DQMSourcePi0.h:74
double seleMinvMaxEtaEndCap_
Definition: DQMSourcePi0.h:261
std::vector< EcalRecHit > EERecHits
Definition: DQMSourcePi0.h:279
MonitorElement * hPtEtaEB_
Eta Pt in EB.
Definition: DQMSourcePi0.h:161
double selePi0Iso_
Definition: DQMSourcePi0.h:230
MonitorElement * hIsoEtaEB_
Eta Iso EB.
Definition: DQMSourcePi0.h:173
double selePtEtaEndCap_
Definition: DQMSourcePi0.h:260
double seleS4S9GammaEtaEndCap_
Definition: DQMSourcePi0.h:258
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
MonitorElement * hIsoPi0EB_
Pi0 Iso EB.
Definition: DQMSourcePi0.h:167
bool ecalRecHitGreater(EcalRecHit x, EcalRecHit y)
Definition: DQMSourcePi0.h:27
MonitorElement * hS4S91Pi0EE_
S4S9 of the 1st most energetic pi0 photon EE.
Definition: DQMSourcePi0.h:182
MonitorElement * hS4S91EtaEB_
S4S9 of the 1st most energetic eta photon.
Definition: DQMSourcePi0.h:185
double selePi0BeltDeta_
Definition: DQMSourcePi0.h:229
double seleS4S9Gamma_
Definition: DQMSourcePi0.h:227
double ptMinForIsolationEta_
Definition: DQMSourcePi0.h:251
int iphi() const
get the crystal iphi
Definition: EBDetId.h:51
void Fill(long long x)
double seleMinvMinPi0_
Definition: DQMSourcePi0.h:226
MonitorElement * hMinvPi0EB_
Pi0 invariant mass in EB.
Definition: DQMSourcePi0.h:119
double seleMinvMaxEta_
Definition: DQMSourcePi0.h:249
MonitorElement * hS4S92Pi0EE_
S4S9 of the 2nd most energetic pi0 photon EE.
Definition: DQMSourcePi0.h:194
void convxtalid(int &, int &)
double ptMinForIsolationEndCap_
Definition: DQMSourcePi0.h:242
int iEvent
Definition: GenABIO.cc:224
double seleS4S9GammaEta_
Definition: DQMSourcePi0.h:247
MonitorElement * hiEtaDistrEBpi0_
Distribution of rechits in iEta (pi0)
Definition: DQMSourcePi0.h:59
double selePi0BeltDetaEndCap_
Definition: DQMSourcePi0.h:241
MonitorElement * hS4S91Pi0EB_
S4S9 of the 1st most energetic pi0 photon.
Definition: DQMSourcePi0.h:179
MonitorElement * hiXDistrEEpi0_
Distribution of rechits in ix EE (pi0)
Definition: DQMSourcePi0.h:50
MonitorElement * hiEtaDistrEBeta_
Distribution of rechits in iEta (eta)
Definition: DQMSourcePi0.h:65
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEBpi0_
object to monitor
Definition: DQMSourcePi0.h:203
bool isMonEBpi0_
which subdet will be monitored
Definition: DQMSourcePi0.h:291
double selePtPi0EndCap_
Definition: DQMSourcePi0.h:235
T sqrt(T t)
Definition: SSEVec.h:19
double seleMinvMinEta_
Definition: DQMSourcePi0.h:250
double selePtGammaEtaEndCap_
for eta->gg endcap
Definition: DQMSourcePi0.h:257
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
int diff_nphi_s(int, int)
double ptMinForIsolation_
Definition: DQMSourcePi0.h:231
int diff_neta_s(int, int)
double seleXtalMinEnergy_
Definition: DQMSourcePi0.h:213
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int iy() const
Definition: EEDetId.h:83
int ieta() const
get the crystal ieta
Definition: EBDetId.h:49
double seleEtaBeltDeta_
Definition: DQMSourcePi0.h:254
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * hPtEtaEE_
Eta Pt in EE.
Definition: DQMSourcePi0.h:164
double seleXtalMinEnergyEndCap_
Definition: DQMSourcePi0.h:214
double selePi0BeltDR_
Definition: DQMSourcePi0.h:228
MonitorElement * hEventEnergyEEpi0_
Distribution of total event energy EE (pi0)
Definition: DQMSourcePi0.h:86
const_iterator end() const
MonitorElement * hNRecHitsEEeta_
Distribution of number of RecHits EE (eta)
Definition: DQMSourcePi0.h:104
double selePtGammaEta_
for eta->gg barrel
Definition: DQMSourcePi0.h:245
edm::EDGetTokenT< EcalRecHitCollection > productMonitoredEEpi0_
object to monitor
Definition: DQMSourcePi0.h:207
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
double seleEtaBeltDetaEndCap_
Definition: DQMSourcePi0.h:266
T const * product() const
Definition: Handle.h:69
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
MonitorElement * hiPhiDistrEBeta_
Distribution of rechits in iPhi (eta)
Definition: DQMSourcePi0.h:53
double selePtEta_
Definition: DQMSourcePi0.h:246
MonitorElement * hRechitEnergyEBeta_
Energy Distribution of rechits EB (eta)
Definition: DQMSourcePi0.h:77
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
Definition: CaloTopology.cc:17
MonitorElement * hPt1EtaEE_
Pt of the 1st most energetic Eta photon in EE.
Definition: DQMSourcePi0.h:140
MonitorElement * hEventEnergyEBpi0_
Distribution of total event energy EB (pi0)
Definition: DQMSourcePi0.h:83
double seleEtaIso_
Definition: DQMSourcePi0.h:252
MonitorElement * hPt1EtaEB_
Pt of the 1st most energetic Eta photon in EB.
Definition: DQMSourcePi0.h:137
MonitorElement * hEventEnergyEBeta_
Distribution of total event energy EB (eta)
Definition: DQMSourcePi0.h:89
MonitorElement * hIsoEtaEE_
Eta Iso EE.
Definition: DQMSourcePi0.h:176
MonitorElement * hS4S92Pi0EB_
S4S9 of the 2nd most energetic pi0 photon.
Definition: DQMSourcePi0.h:191
double selePi0IsoEndCap_
Definition: DQMSourcePi0.h:239
MonitorElement * hPt2EtaEB_
Pt of the 2nd most energetic Eta photon in EB.
Definition: DQMSourcePi0.h:149
double seleMinvMaxPi0_
Definition: DQMSourcePi0.h:225
std::vector< EcalRecHit > EBRecHits
Definition: DQMSourcePi0.h:276
MonitorElement * hMinvEtaEE_
Eta invariant mass in EE.
Definition: DQMSourcePi0.h:128
MonitorElement * hPtPi0EB_
Pi0 Pt in EB.
Definition: DQMSourcePi0.h:155
size_type size() const
math::XYZPoint Calculate_Location(const HitsAndFractions &iDetIds, const edm::SortedCollection< HitType > *iRecHits, const CaloSubdetectorGeometry *iSubGeom, const CaloSubdetectorGeometry *iESGeom=0)
Definition: PositionCalc.h:65
double seleEtaIsoEndCap_
Definition: DQMSourcePi0.h:264
MonitorElement * hS4S92EtaEE_
S4S9 of the 2nd most energetic eta photon EE.
Definition: DQMSourcePi0.h:200
unsigned int prescaleFactor_
Monitor every prescaleFactor_ events.
Definition: DQMSourcePi0.h:282
MonitorElement * hMeanRecHitEnergyEEeta_
Distribution of Mean energy per rechit EE (eta)
Definition: DQMSourcePi0.h:116
MonitorElement * hIsoPi0EE_
Pi0 Iso EE.
Definition: DQMSourcePi0.h:170
double selePtPi0_
Definition: DQMSourcePi0.h:224
double seleS4S9GammaEndCap_
Definition: DQMSourcePi0.h:238
MonitorElement * hNRecHitsEBeta_
Distribution of number of RecHits EB (eta)
Definition: DQMSourcePi0.h:101
MonitorElement * hPt1Pi0EE_
Pt of the 1st most energetic Pi0 photon in EE.
Definition: DQMSourcePi0.h:134
MonitorElement * hS4S91EtaEE_
S4S9 of the 1st most energetic eta photon EE.
Definition: DQMSourcePi0.h:188
MonitorElement * hRechitEnergyEEeta_
Energy Distribution of rechits EE (eta)
Definition: DQMSourcePi0.h:80
MonitorElement * hMeanRecHitEnergyEBpi0_
Distribution of Mean energy per rechit EB (pi0)
Definition: DQMSourcePi0.h:107
MonitorElement * hEventEnergyEEeta_
Distribution of total event energy EE (eta)
Definition: DQMSourcePi0.h:92
MonitorElement * hNRecHitsEEpi0_
Distribution of number of RecHits EE (pi0)
Definition: DQMSourcePi0.h:98
double selePi0BeltDREndCap_
Definition: DQMSourcePi0.h:240
const_iterator begin() const
MonitorElement * hPt2Pi0EB_
Pt of the 2nd most energetic Pi0 photon in EB.
Definition: DQMSourcePi0.h:143
double selePtGamma_
Definition: DQMSourcePi0.h:223
double clusSeedThrEndCap_
Definition: DQMSourcePi0.h:220
void DQMSourcePi0::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  irun,
edm::EventSetup const &  isetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 129 of file DQMSourcePi0.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), folderName_, hEventEnergyEBeta_, hEventEnergyEBpi0_, hEventEnergyEEeta_, hEventEnergyEEpi0_, hiEtaDistrEBeta_, hiEtaDistrEBpi0_, hiPhiDistrEBeta_, hiPhiDistrEBpi0_, hIsoEtaEB_, hIsoEtaEE_, hIsoPi0EB_, hIsoPi0EE_, hiXDistrEEeta_, hiXDistrEEpi0_, hiYDistrEEeta_, hiYDistrEEpi0_, hMeanRecHitEnergyEBeta_, hMeanRecHitEnergyEBpi0_, hMeanRecHitEnergyEEeta_, hMeanRecHitEnergyEEpi0_, hMinvEtaEB_, hMinvEtaEE_, hMinvPi0EB_, hMinvPi0EE_, hNRecHitsEBeta_, hNRecHitsEBpi0_, hNRecHitsEEeta_, hNRecHitsEEpi0_, hPt1EtaEB_, hPt1EtaEE_, hPt1Pi0EB_, hPt1Pi0EE_, hPt2EtaEB_, hPt2EtaEE_, hPt2Pi0EB_, hPt2Pi0EE_, hPtEtaEB_, hPtEtaEE_, hPtPi0EB_, hPtPi0EE_, hRechitEnergyEBeta_, hRechitEnergyEBpi0_, hRechitEnergyEEeta_, hRechitEnergyEEpi0_, hS4S91EtaEB_, hS4S91EtaEE_, hS4S91Pi0EB_, hS4S91Pi0EE_, hS4S92EtaEB_, hS4S92EtaEE_, hS4S92Pi0EB_, hS4S92Pi0EE_, dqm::impl::MonitorElement::setAxisTitle(), and dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder().

129  {
130  // create and cd into new folder
131  ibooker.setCurrentFolder(folderName_);
132 
133  // book some histograms 1D
134 
135  hiPhiDistrEBpi0_ = ibooker.book1D("iphiDistributionEBpi0", "RechitEB pi0 iphi", 361, 1, 361);
136  hiPhiDistrEBpi0_->setAxisTitle("i#phi ", 1);
137  hiPhiDistrEBpi0_->setAxisTitle("# rechits", 2);
138 
139  hiXDistrEEpi0_ = ibooker.book1D("iXDistributionEEpi0", "RechitEE pi0 ix", 100, 0, 100);
140  hiXDistrEEpi0_->setAxisTitle("ix ", 1);
141  hiXDistrEEpi0_->setAxisTitle("# rechits", 2);
142 
143  hiPhiDistrEBeta_ = ibooker.book1D("iphiDistributionEBeta", "RechitEB eta iphi", 361, 1, 361);
144  hiPhiDistrEBeta_->setAxisTitle("i#phi ", 1);
145  hiPhiDistrEBeta_->setAxisTitle("# rechits", 2);
146 
147  hiXDistrEEeta_ = ibooker.book1D("iXDistributionEEeta", "RechitEE eta ix", 100, 0, 100);
148  hiXDistrEEeta_->setAxisTitle("ix ", 1);
149  hiXDistrEEeta_->setAxisTitle("# rechits", 2);
150 
151  hiEtaDistrEBpi0_ = ibooker.book1D("iEtaDistributionEBpi0", "RechitEB pi0 ieta", 171, -85, 86);
152  hiEtaDistrEBpi0_->setAxisTitle("i#eta", 1);
153  hiEtaDistrEBpi0_->setAxisTitle("#rechits", 2);
154 
155  hiYDistrEEpi0_ = ibooker.book1D("iYDistributionEEpi0", "RechitEE pi0 iY", 100, 0, 100);
156  hiYDistrEEpi0_->setAxisTitle("iy", 1);
157  hiYDistrEEpi0_->setAxisTitle("#rechits", 2);
158 
159  hiEtaDistrEBeta_ = ibooker.book1D("iEtaDistributionEBeta", "RechitEB eta ieta", 171, -85, 86);
160  hiEtaDistrEBeta_->setAxisTitle("i#eta", 1);
161  hiEtaDistrEBeta_->setAxisTitle("#rechits", 2);
162 
163  hiYDistrEEeta_ = ibooker.book1D("iYDistributionEEeta", "RechitEE eta iY", 100, 0, 100);
164  hiYDistrEEeta_->setAxisTitle("iy", 1);
165  hiYDistrEEeta_->setAxisTitle("#rechits", 2);
166 
167  hRechitEnergyEBpi0_ = ibooker.book1D("rhEnergyEBpi0", "Pi0 rechits energy EB", 160, 0., 2.0);
168  hRechitEnergyEBpi0_->setAxisTitle("energy (GeV) ", 1);
169  hRechitEnergyEBpi0_->setAxisTitle("#rechits", 2);
170 
171  hRechitEnergyEEpi0_ = ibooker.book1D("rhEnergyEEpi0", "Pi0 rechits energy EE", 160, 0., 3.0);
172  hRechitEnergyEEpi0_->setAxisTitle("energy (GeV) ", 1);
173  hRechitEnergyEEpi0_->setAxisTitle("#rechits", 2);
174 
175  hRechitEnergyEBeta_ = ibooker.book1D("rhEnergyEBeta", "Eta rechits energy EB", 160, 0., 2.0);
176  hRechitEnergyEBeta_->setAxisTitle("energy (GeV) ", 1);
177  hRechitEnergyEBeta_->setAxisTitle("#rechits", 2);
178 
179  hRechitEnergyEEeta_ = ibooker.book1D("rhEnergyEEeta", "Eta rechits energy EE", 160, 0., 3.0);
180  hRechitEnergyEEeta_->setAxisTitle("energy (GeV) ", 1);
181  hRechitEnergyEEeta_->setAxisTitle("#rechits", 2);
182 
183  hEventEnergyEBpi0_ = ibooker.book1D("eventEnergyEBpi0", "Pi0 event energy EB", 100, 0., 20.0);
184  hEventEnergyEBpi0_->setAxisTitle("energy (GeV) ", 1);
185 
186  hEventEnergyEEpi0_ = ibooker.book1D("eventEnergyEEpi0", "Pi0 event energy EE", 100, 0., 50.0);
187  hEventEnergyEEpi0_->setAxisTitle("energy (GeV) ", 1);
188 
189  hEventEnergyEBeta_ = ibooker.book1D("eventEnergyEBeta", "Eta event energy EB", 100, 0., 20.0);
190  hEventEnergyEBeta_->setAxisTitle("energy (GeV) ", 1);
191 
192  hEventEnergyEEeta_ = ibooker.book1D("eventEnergyEEeta", "Eta event energy EE", 100, 0., 50.0);
193  hEventEnergyEEeta_->setAxisTitle("energy (GeV) ", 1);
194 
195  hNRecHitsEBpi0_ = ibooker.book1D("nRechitsEBpi0", "#rechits in pi0 collection EB", 100, 0., 250.);
196  hNRecHitsEBpi0_->setAxisTitle("rechits ", 1);
197 
198  hNRecHitsEEpi0_ = ibooker.book1D("nRechitsEEpi0", "#rechits in pi0 collection EE", 100, 0., 250.);
199  hNRecHitsEEpi0_->setAxisTitle("rechits ", 1);
200 
201  hNRecHitsEBeta_ = ibooker.book1D("nRechitsEBeta", "#rechits in eta collection EB", 100, 0., 250.);
202  hNRecHitsEBeta_->setAxisTitle("rechits ", 1);
203 
204  hNRecHitsEEeta_ = ibooker.book1D("nRechitsEEeta", "#rechits in eta collection EE", 100, 0., 250.);
205  hNRecHitsEEeta_->setAxisTitle("rechits ", 1);
206 
207  hMeanRecHitEnergyEBpi0_ = ibooker.book1D("meanEnergyEBpi0", "Mean rechit energy in pi0 collection EB", 50, 0., 2.);
208  hMeanRecHitEnergyEBpi0_->setAxisTitle("Mean Energy [GeV] ", 1);
209 
210  hMeanRecHitEnergyEEpi0_ = ibooker.book1D("meanEnergyEEpi0", "Mean rechit energy in pi0 collection EE", 100, 0., 5.);
211  hMeanRecHitEnergyEEpi0_->setAxisTitle("Mean Energy [GeV] ", 1);
212 
213  hMeanRecHitEnergyEBeta_ = ibooker.book1D("meanEnergyEBeta", "Mean rechit energy in eta collection EB", 50, 0., 2.);
214  hMeanRecHitEnergyEBeta_->setAxisTitle("Mean Energy [GeV] ", 1);
215 
216  hMeanRecHitEnergyEEeta_ = ibooker.book1D("meanEnergyEEeta", "Mean rechit energy in eta collection EE", 100, 0., 5.);
217  hMeanRecHitEnergyEEeta_->setAxisTitle("Mean Energy [GeV] ", 1);
218 
219  hMinvPi0EB_ = ibooker.book1D("Pi0InvmassEB", "Pi0 Invariant Mass in EB", 100, 0., 0.5);
220  hMinvPi0EB_->setAxisTitle("Inv Mass [GeV] ", 1);
221 
222  hMinvPi0EE_ = ibooker.book1D("Pi0InvmassEE", "Pi0 Invariant Mass in EE", 100, 0., 0.5);
223  hMinvPi0EE_->setAxisTitle("Inv Mass [GeV] ", 1);
224 
225  hMinvEtaEB_ = ibooker.book1D("EtaInvmassEB", "Eta Invariant Mass in EB", 100, 0., 0.85);
226  hMinvEtaEB_->setAxisTitle("Inv Mass [GeV] ", 1);
227 
228  hMinvEtaEE_ = ibooker.book1D("EtaInvmassEE", "Eta Invariant Mass in EE", 100, 0., 0.85);
229  hMinvEtaEE_->setAxisTitle("Inv Mass [GeV] ", 1);
230 
231  hPt1Pi0EB_ = ibooker.book1D("Pt1Pi0EB", "Pt 1st most energetic Pi0 photon in EB", 100, 0., 20.);
232  hPt1Pi0EB_->setAxisTitle("1st photon Pt [GeV] ", 1);
233 
234  hPt1Pi0EE_ = ibooker.book1D("Pt1Pi0EE", "Pt 1st most energetic Pi0 photon in EE", 100, 0., 20.);
235  hPt1Pi0EE_->setAxisTitle("1st photon Pt [GeV] ", 1);
236 
237  hPt1EtaEB_ = ibooker.book1D("Pt1EtaEB", "Pt 1st most energetic Eta photon in EB", 100, 0., 20.);
238  hPt1EtaEB_->setAxisTitle("1st photon Pt [GeV] ", 1);
239 
240  hPt1EtaEE_ = ibooker.book1D("Pt1EtaEE", "Pt 1st most energetic Eta photon in EE", 100, 0., 20.);
241  hPt1EtaEE_->setAxisTitle("1st photon Pt [GeV] ", 1);
242 
243  hPt2Pi0EB_ = ibooker.book1D("Pt2Pi0EB", "Pt 2nd most energetic Pi0 photon in EB", 100, 0., 20.);
244  hPt2Pi0EB_->setAxisTitle("2nd photon Pt [GeV] ", 1);
245 
246  hPt2Pi0EE_ = ibooker.book1D("Pt2Pi0EE", "Pt 2nd most energetic Pi0 photon in EE", 100, 0., 20.);
247  hPt2Pi0EE_->setAxisTitle("2nd photon Pt [GeV] ", 1);
248 
249  hPt2EtaEB_ = ibooker.book1D("Pt2EtaEB", "Pt 2nd most energetic Eta photon in EB", 100, 0., 20.);
250  hPt2EtaEB_->setAxisTitle("2nd photon Pt [GeV] ", 1);
251 
252  hPt2EtaEE_ = ibooker.book1D("Pt2EtaEE", "Pt 2nd most energetic Eta photon in EE", 100, 0., 20.);
253  hPt2EtaEE_->setAxisTitle("2nd photon Pt [GeV] ", 1);
254 
255  hPtPi0EB_ = ibooker.book1D("PtPi0EB", "Pi0 Pt in EB", 100, 0., 20.);
256  hPtPi0EB_->setAxisTitle("Pi0 Pt [GeV] ", 1);
257 
258  hPtPi0EE_ = ibooker.book1D("PtPi0EE", "Pi0 Pt in EE", 100, 0., 20.);
259  hPtPi0EE_->setAxisTitle("Pi0 Pt [GeV] ", 1);
260 
261  hPtEtaEB_ = ibooker.book1D("PtEtaEB", "Eta Pt in EB", 100, 0., 20.);
262  hPtEtaEB_->setAxisTitle("Eta Pt [GeV] ", 1);
263 
264  hPtEtaEE_ = ibooker.book1D("PtEtaEE", "Eta Pt in EE", 100, 0., 20.);
265  hPtEtaEE_->setAxisTitle("Eta Pt [GeV] ", 1);
266 
267  hIsoPi0EB_ = ibooker.book1D("IsoPi0EB", "Pi0 Iso in EB", 50, 0., 1.);
268  hIsoPi0EB_->setAxisTitle("Pi0 Iso", 1);
269 
270  hIsoPi0EE_ = ibooker.book1D("IsoPi0EE", "Pi0 Iso in EE", 50, 0., 1.);
271  hIsoPi0EE_->setAxisTitle("Pi0 Iso", 1);
272 
273  hIsoEtaEB_ = ibooker.book1D("IsoEtaEB", "Eta Iso in EB", 50, 0., 1.);
274  hIsoEtaEB_->setAxisTitle("Eta Iso", 1);
275 
276  hIsoEtaEE_ = ibooker.book1D("IsoEtaEE", "Eta Iso in EE", 50, 0., 1.);
277  hIsoEtaEE_->setAxisTitle("Eta Iso", 1);
278 
279  hS4S91Pi0EB_ = ibooker.book1D("S4S91Pi0EB", "S4S9 1st most energetic Pi0 photon in EB", 50, 0., 1.);
280  hS4S91Pi0EB_->setAxisTitle("S4S9 of the 1st Pi0 Photon ", 1);
281 
282  hS4S91Pi0EE_ = ibooker.book1D("S4S91Pi0EE", "S4S9 1st most energetic Pi0 photon in EE", 50, 0., 1.);
283  hS4S91Pi0EE_->setAxisTitle("S4S9 of the 1st Pi0 Photon ", 1);
284 
285  hS4S91EtaEB_ = ibooker.book1D("S4S91EtaEB", "S4S9 1st most energetic Eta photon in EB", 50, 0., 1.);
286  hS4S91EtaEB_->setAxisTitle("S4S9 of the 1st Eta Photon ", 1);
287 
288  hS4S91EtaEE_ = ibooker.book1D("S4S91EtaEE", "S4S9 1st most energetic Eta photon in EE", 50, 0., 1.);
289  hS4S91EtaEE_->setAxisTitle("S4S9 of the 1st Eta Photon ", 1);
290 
291  hS4S92Pi0EB_ = ibooker.book1D("S4S92Pi0EB", "S4S9 2nd most energetic Pi0 photon in EB", 50, 0., 1.);
292  hS4S92Pi0EB_->setAxisTitle("S4S9 of the 2nd Pi0 Photon", 1);
293 
294  hS4S92Pi0EE_ = ibooker.book1D("S4S92Pi0EE", "S4S9 2nd most energetic Pi0 photon in EE", 50, 0., 1.);
295  hS4S92Pi0EE_->setAxisTitle("S4S9 of the 2nd Pi0 Photon", 1);
296 
297  hS4S92EtaEB_ = ibooker.book1D("S4S92EtaEB", "S4S9 2nd most energetic Pi0 photon in EB", 50, 0., 1.);
298  hS4S92EtaEB_->setAxisTitle("S4S9 of the 2nd Eta Photon", 1);
299 
300  hS4S92EtaEE_ = ibooker.book1D("S4S92EtaEE", "S4S9 2nd most energetic Pi0 photon in EE", 50, 0., 1.);
301  hS4S92EtaEE_->setAxisTitle("S4S9 of the 2nd Eta Photon", 1);
302 }
MonitorElement * hiYDistrEEeta_
Distribution of rechits in iy EE (eta)
Definition: DQMSourcePi0.h:68
MonitorElement * hMinvPi0EE_
Pi0 invariant mass in EE.
Definition: DQMSourcePi0.h:122
MonitorElement * hiXDistrEEeta_
Distribution of rechits in ix EE (eta)
Definition: DQMSourcePi0.h:56
MonitorElement * hiPhiDistrEBpi0_
Distribution of rechits in iPhi (pi0)
Definition: DQMSourcePi0.h:47
MonitorElement * hPt1Pi0EB_
Pt of the 1st most energetic Pi0 photon in EB.
Definition: DQMSourcePi0.h:131
MonitorElement * hPt2Pi0EE_
Pt of the 2nd most energetic Pi0 photon in EE.
Definition: DQMSourcePi0.h:146
MonitorElement * hiYDistrEEpi0_
Distribution of rechits in iy EE (pi0)
Definition: DQMSourcePi0.h:62
MonitorElement * hPtPi0EE_
Pi0 Pt in EE.
Definition: DQMSourcePi0.h:158
MonitorElement * hMinvEtaEB_
Eta invariant mass in EB.
Definition: DQMSourcePi0.h:125
MonitorElement * hS4S92EtaEB_
S4S9 of the 2nd most energetic eta photon.
Definition: DQMSourcePi0.h:197
MonitorElement * hMeanRecHitEnergyEBeta_
Distribution of Mean energy per rechit EB (eta)
Definition: DQMSourcePi0.h:113
std::string folderName_
DQM folder name.
Definition: DQMSourcePi0.h:285
MonitorElement * hMeanRecHitEnergyEEpi0_
Distribution of Mean energy per rechit EE (pi0)
Definition: DQMSourcePi0.h:110
MonitorElement * hNRecHitsEBpi0_
Distribution of number of RecHits EB (pi0)
Definition: DQMSourcePi0.h:95
MonitorElement * hPt2EtaEE_
Pt of the 2nd most energetic Eta photon in EE.
Definition: DQMSourcePi0.h:152
MonitorElement * hRechitEnergyEBpi0_
Energy Distribution of rechits EB (pi0)
Definition: DQMSourcePi0.h:71
MonitorElement * hRechitEnergyEEpi0_
Energy Distribution of rechits EE (pi0)
Definition: DQMSourcePi0.h:74
MonitorElement * hPtEtaEB_
Eta Pt in EB.
Definition: DQMSourcePi0.h:161
MonitorElement * hIsoEtaEB_
Eta Iso EB.
Definition: DQMSourcePi0.h:173
MonitorElement * hIsoPi0EB_
Pi0 Iso EB.
Definition: DQMSourcePi0.h:167
MonitorElement * hS4S91Pi0EE_
S4S9 of the 1st most energetic pi0 photon EE.
Definition: DQMSourcePi0.h:182
MonitorElement * hS4S91EtaEB_
S4S9 of the 1st most energetic eta photon.
Definition: DQMSourcePi0.h:185
MonitorElement * hMinvPi0EB_
Pi0 invariant mass in EB.
Definition: DQMSourcePi0.h:119
MonitorElement * hS4S92Pi0EE_
S4S9 of the 2nd most energetic pi0 photon EE.
Definition: DQMSourcePi0.h:194
MonitorElement * hiEtaDistrEBpi0_
Distribution of rechits in iEta (pi0)
Definition: DQMSourcePi0.h:59
MonitorElement * hS4S91Pi0EB_
S4S9 of the 1st most energetic pi0 photon.
Definition: DQMSourcePi0.h:179
MonitorElement * hiXDistrEEpi0_
Distribution of rechits in ix EE (pi0)
Definition: DQMSourcePi0.h:50
MonitorElement * hiEtaDistrEBeta_
Distribution of rechits in iEta (eta)
Definition: DQMSourcePi0.h:65
MonitorElement * hPtEtaEE_
Eta Pt in EE.
Definition: DQMSourcePi0.h:164
MonitorElement * hEventEnergyEEpi0_
Distribution of total event energy EE (pi0)
Definition: DQMSourcePi0.h:86
MonitorElement * hNRecHitsEEeta_
Distribution of number of RecHits EE (eta)
Definition: DQMSourcePi0.h:104
MonitorElement * hiPhiDistrEBeta_
Distribution of rechits in iPhi (eta)
Definition: DQMSourcePi0.h:53
MonitorElement * hRechitEnergyEBeta_
Energy Distribution of rechits EB (eta)
Definition: DQMSourcePi0.h:77
MonitorElement * hPt1EtaEE_
Pt of the 1st most energetic Eta photon in EE.
Definition: DQMSourcePi0.h:140
MonitorElement * hEventEnergyEBpi0_
Distribution of total event energy EB (pi0)
Definition: DQMSourcePi0.h:83
MonitorElement * hPt1EtaEB_
Pt of the 1st most energetic Eta photon in EB.
Definition: DQMSourcePi0.h:137
MonitorElement * hEventEnergyEBeta_
Distribution of total event energy EB (eta)
Definition: DQMSourcePi0.h:89
MonitorElement * hIsoEtaEE_
Eta Iso EE.
Definition: DQMSourcePi0.h:176
MonitorElement * hS4S92Pi0EB_
S4S9 of the 2nd most energetic pi0 photon.
Definition: DQMSourcePi0.h:191
MonitorElement * hPt2EtaEB_
Pt of the 2nd most energetic Eta photon in EB.
Definition: DQMSourcePi0.h:149
MonitorElement * hMinvEtaEE_
Eta invariant mass in EE.
Definition: DQMSourcePi0.h:128
MonitorElement * hPtPi0EB_
Pi0 Pt in EB.
Definition: DQMSourcePi0.h:155
MonitorElement * hS4S92EtaEE_
S4S9 of the 2nd most energetic eta photon EE.
Definition: DQMSourcePi0.h:200
MonitorElement * hMeanRecHitEnergyEEeta_
Distribution of Mean energy per rechit EE (eta)
Definition: DQMSourcePi0.h:116
MonitorElement * hIsoPi0EE_
Pi0 Iso EE.
Definition: DQMSourcePi0.h:170
MonitorElement * hNRecHitsEBeta_
Distribution of number of RecHits EB (eta)
Definition: DQMSourcePi0.h:101
MonitorElement * hPt1Pi0EE_
Pt of the 1st most energetic Pi0 photon in EE.
Definition: DQMSourcePi0.h:134
MonitorElement * hS4S91EtaEE_
S4S9 of the 1st most energetic eta photon EE.
Definition: DQMSourcePi0.h:188
MonitorElement * hRechitEnergyEEeta_
Energy Distribution of rechits EE (eta)
Definition: DQMSourcePi0.h:80
MonitorElement * hMeanRecHitEnergyEBpi0_
Distribution of Mean energy per rechit EB (pi0)
Definition: DQMSourcePi0.h:107
MonitorElement * hEventEnergyEEeta_
Distribution of total event energy EE (eta)
Definition: DQMSourcePi0.h:92
MonitorElement * hNRecHitsEEpi0_
Distribution of number of RecHits EE (pi0)
Definition: DQMSourcePi0.h:98
MonitorElement * hPt2Pi0EB_
Pt of the 2nd most energetic Pi0 photon in EB.
Definition: DQMSourcePi0.h:143
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void DQMSourcePi0::convxtalid ( int &  ,
int &   
)
protected

Definition at line 1476 of file DQMSourcePi0.cc.

Referenced by analyze().

1476  {
1477  // Barrel only
1478  // Output nphi 0...359; neta 0...84; nside=+1 (for eta>0), or 0 (for eta<0).
1479  // neta will be [-85,-1] , or [0,84], the minus sign indicates the z<0 side.
1480 
1481  if (neta > 0)
1482  neta -= 1;
1483  if (nphi > 359)
1484  nphi = nphi - 360;
1485 
1486 } // end of convxtalid
int DQMSourcePi0::diff_neta_s ( int  ,
int   
)
protected

Definition at line 1488 of file DQMSourcePi0.cc.

Referenced by analyze().

1488  {
1489  Int_t mdiff;
1490  mdiff = (neta1 - neta2);
1491  return mdiff;
1492 }
int DQMSourcePi0::diff_nphi_s ( int  ,
int   
)
protected

Definition at line 1496 of file DQMSourcePi0.cc.

References funct::abs().

Referenced by analyze().

1496  {
1497  Int_t mdiff;
1498  if (std::abs(nphi1 - nphi2) < (360 - std::abs(nphi1 - nphi2))) {
1499  mdiff = nphi1 - nphi2;
1500  } else {
1501  mdiff = 360 - std::abs(nphi1 - nphi2);
1502  if (nphi1 > nphi2)
1503  mdiff = -mdiff;
1504  }
1505  return mdiff;
1506 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

Member Data Documentation

int DQMSourcePi0::clusEtaSize_
private

Definition at line 217 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

int DQMSourcePi0::clusPhiSize_
private

Definition at line 218 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::clusSeedThr_
private

Definition at line 216 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::clusSeedThrEndCap_
private

Definition at line 220 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

std::vector<EBDetId> DQMSourcePi0::detIdEBRecHits
private

Definition at line 275 of file DQMSourcePi0.h.

Referenced by analyze().

std::vector<EEDetId> DQMSourcePi0::detIdEERecHits
private

Definition at line 278 of file DQMSourcePi0.h.

Referenced by analyze().

std::vector<EcalRecHit> DQMSourcePi0::EBRecHits
private

Definition at line 276 of file DQMSourcePi0.h.

Referenced by analyze().

std::vector<EcalRecHit> DQMSourcePi0::EERecHits
private

Definition at line 279 of file DQMSourcePi0.h.

Referenced by analyze().

int DQMSourcePi0::eventCounter_
private

Definition at line 43 of file DQMSourcePi0.h.

Referenced by analyze().

std::string DQMSourcePi0::fileName_
private

Output file name if required.

Definition at line 297 of file DQMSourcePi0.h.

Referenced by DQMSourcePi0().

std::string DQMSourcePi0::folderName_
private

DQM folder name.

Definition at line 285 of file DQMSourcePi0.h.

Referenced by bookHistograms(), and DQMSourcePi0().

int DQMSourcePi0::gammaCandEtaSize_
private

Definition at line 210 of file DQMSourcePi0.h.

int DQMSourcePi0::gammaCandPhiSize_
private

Definition at line 211 of file DQMSourcePi0.h.

MonitorElement* DQMSourcePi0::hEventEnergyEBeta_
private

Distribution of total event energy EB (eta)

Definition at line 89 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hEventEnergyEBpi0_
private

Distribution of total event energy EB (pi0)

Definition at line 83 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hEventEnergyEEeta_
private

Distribution of total event energy EE (eta)

Definition at line 92 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hEventEnergyEEpi0_
private

Distribution of total event energy EE (pi0)

Definition at line 86 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiEtaDistrEBeta_
private

Distribution of rechits in iEta (eta)

Definition at line 65 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiEtaDistrEBpi0_
private

Distribution of rechits in iEta (pi0)

Definition at line 59 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiPhiDistrEBeta_
private

Distribution of rechits in iPhi (eta)

Definition at line 53 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiPhiDistrEBpi0_
private

Distribution of rechits in iPhi (pi0)

Definition at line 47 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hIsoEtaEB_
private

Eta Iso EB.

Definition at line 173 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hIsoEtaEE_
private

Eta Iso EE.

Definition at line 176 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hIsoPi0EB_
private

Pi0 Iso EB.

Definition at line 167 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hIsoPi0EE_
private

Pi0 Iso EE.

Definition at line 170 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiXDistrEEeta_
private

Distribution of rechits in ix EE (eta)

Definition at line 56 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiXDistrEEpi0_
private

Distribution of rechits in ix EE (pi0)

Definition at line 50 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiYDistrEEeta_
private

Distribution of rechits in iy EE (eta)

Definition at line 68 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hiYDistrEEpi0_
private

Distribution of rechits in iy EE (pi0)

Definition at line 62 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMeanRecHitEnergyEBeta_
private

Distribution of Mean energy per rechit EB (eta)

Definition at line 113 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMeanRecHitEnergyEBpi0_
private

Distribution of Mean energy per rechit EB (pi0)

Definition at line 107 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMeanRecHitEnergyEEeta_
private

Distribution of Mean energy per rechit EE (eta)

Definition at line 116 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMeanRecHitEnergyEEpi0_
private

Distribution of Mean energy per rechit EE (pi0)

Definition at line 110 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMinvEtaEB_
private

Eta invariant mass in EB.

Definition at line 125 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMinvEtaEE_
private

Eta invariant mass in EE.

Definition at line 128 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMinvPi0EB_
private

Pi0 invariant mass in EB.

Definition at line 119 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hMinvPi0EE_
private

Pi0 invariant mass in EE.

Definition at line 122 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hNRecHitsEBeta_
private

Distribution of number of RecHits EB (eta)

Definition at line 101 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hNRecHitsEBpi0_
private

Distribution of number of RecHits EB (pi0)

Definition at line 95 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hNRecHitsEEeta_
private

Distribution of number of RecHits EE (eta)

Definition at line 104 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hNRecHitsEEpi0_
private

Distribution of number of RecHits EE (pi0)

Definition at line 98 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt1EtaEB_
private

Pt of the 1st most energetic Eta photon in EB.

Definition at line 137 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt1EtaEE_
private

Pt of the 1st most energetic Eta photon in EE.

Definition at line 140 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt1Pi0EB_
private

Pt of the 1st most energetic Pi0 photon in EB.

Definition at line 131 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt1Pi0EE_
private

Pt of the 1st most energetic Pi0 photon in EE.

Definition at line 134 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt2EtaEB_
private

Pt of the 2nd most energetic Eta photon in EB.

Definition at line 149 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt2EtaEE_
private

Pt of the 2nd most energetic Eta photon in EE.

Definition at line 152 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt2Pi0EB_
private

Pt of the 2nd most energetic Pi0 photon in EB.

Definition at line 143 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPt2Pi0EE_
private

Pt of the 2nd most energetic Pi0 photon in EE.

Definition at line 146 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPtEtaEB_
private

Eta Pt in EB.

Definition at line 161 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPtEtaEE_
private

Eta Pt in EE.

Definition at line 164 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPtPi0EB_
private

Pi0 Pt in EB.

Definition at line 155 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hPtPi0EE_
private

Pi0 Pt in EE.

Definition at line 158 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hRechitEnergyEBeta_
private

Energy Distribution of rechits EB (eta)

Definition at line 77 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hRechitEnergyEBpi0_
private

Energy Distribution of rechits EB (pi0)

Definition at line 71 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hRechitEnergyEEeta_
private

Energy Distribution of rechits EE (eta)

Definition at line 80 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hRechitEnergyEEpi0_
private

Energy Distribution of rechits EE (pi0)

Definition at line 74 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S91EtaEB_
private

S4S9 of the 1st most energetic eta photon.

Definition at line 185 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S91EtaEE_
private

S4S9 of the 1st most energetic eta photon EE.

Definition at line 188 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S91Pi0EB_
private

S4S9 of the 1st most energetic pi0 photon.

Definition at line 179 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S91Pi0EE_
private

S4S9 of the 1st most energetic pi0 photon EE.

Definition at line 182 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S92EtaEB_
private

S4S9 of the 2nd most energetic eta photon.

Definition at line 197 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S92EtaEE_
private

S4S9 of the 2nd most energetic eta photon EE.

Definition at line 200 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S92Pi0EB_
private

S4S9 of the 2nd most energetic pi0 photon.

Definition at line 191 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMSourcePi0::hS4S92Pi0EE_
private

S4S9 of the 2nd most energetic pi0 photon EE.

Definition at line 194 of file DQMSourcePi0.h.

Referenced by analyze(), and bookHistograms().

bool DQMSourcePi0::isMonEBeta_
private

Definition at line 292 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

bool DQMSourcePi0::isMonEBpi0_
private

which subdet will be monitored

Definition at line 291 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

bool DQMSourcePi0::isMonEEeta_
private

Definition at line 294 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

bool DQMSourcePi0::isMonEEpi0_
private

Definition at line 293 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

bool DQMSourcePi0::ParameterLogWeighted_
private

Definition at line 268 of file DQMSourcePi0.h.

double DQMSourcePi0::ParameterT0_barl_
private

Definition at line 270 of file DQMSourcePi0.h.

double DQMSourcePi0::ParameterT0_endc_
private

Definition at line 271 of file DQMSourcePi0.h.

double DQMSourcePi0::ParameterT0_endcPresh_
private

Definition at line 272 of file DQMSourcePi0.h.

double DQMSourcePi0::ParameterW0_
private

Definition at line 273 of file DQMSourcePi0.h.

double DQMSourcePi0::ParameterX0_
private

Definition at line 269 of file DQMSourcePi0.h.

PositionCalc DQMSourcePi0::posCalculator_
private

Definition at line 44 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

unsigned int DQMSourcePi0::prescaleFactor_
private

Monitor every prescaleFactor_ events.

Definition at line 282 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

edm::EDGetTokenT<EcalRecHitCollection> DQMSourcePi0::productMonitoredEBeta_
private

Definition at line 204 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

edm::EDGetTokenT<EcalRecHitCollection> DQMSourcePi0::productMonitoredEBpi0_
private

object to monitor

Definition at line 203 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

edm::EDGetTokenT<EcalRecHitCollection> DQMSourcePi0::productMonitoredEEeta_
private

Definition at line 208 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

edm::EDGetTokenT<EcalRecHitCollection> DQMSourcePi0::productMonitoredEEpi0_
private

object to monitor

Definition at line 207 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::ptMinForIsolation_
private

Definition at line 231 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::ptMinForIsolationEndCap_
private

Definition at line 242 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::ptMinForIsolationEta_
private

Definition at line 251 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::ptMinForIsolationEtaEndCap_
private

Definition at line 263 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

bool DQMSourcePi0::saveToFile_
private

Write to file.

Definition at line 288 of file DQMSourcePi0.h.

Referenced by DQMSourcePi0().

double DQMSourcePi0::seleEtaBeltDeta_
private

Definition at line 254 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleEtaBeltDetaEndCap_
private

Definition at line 266 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleEtaBeltDR_
private

Definition at line 253 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleEtaBeltDREndCap_
private

Definition at line 265 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleEtaIso_
private

Definition at line 252 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleEtaIsoEndCap_
private

Definition at line 264 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMaxEta_
private

Definition at line 249 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMaxEtaEndCap_
private

Definition at line 261 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMaxPi0_
private

Definition at line 225 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMaxPi0EndCap_
private

Definition at line 236 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMinEta_
private

Definition at line 250 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMinEtaEndCap_
private

Definition at line 262 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMinPi0_
private

Definition at line 226 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleMinvMinPi0EndCap_
private

Definition at line 237 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0BeltDeta_
private

Definition at line 229 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0BeltDetaEndCap_
private

Definition at line 241 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0BeltDR_
private

Definition at line 228 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0BeltDREndCap_
private

Definition at line 240 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0Iso_
private

Definition at line 230 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePi0IsoEndCap_
private

Definition at line 239 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtEta_
private

Definition at line 246 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtEtaEndCap_
private

Definition at line 260 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtGamma_
private

Definition at line 223 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtGammaEndCap_
private

for pi0->gg endcap

Definition at line 234 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtGammaEta_
private

for eta->gg barrel

Definition at line 245 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtGammaEtaEndCap_
private

for eta->gg endcap

Definition at line 257 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtPi0_
private

Definition at line 224 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::selePtPi0EndCap_
private

Definition at line 235 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleS4S9Gamma_
private

Definition at line 227 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleS4S9GammaEndCap_
private

Definition at line 238 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleS4S9GammaEta_
private

Definition at line 247 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleS4S9GammaEtaEndCap_
private

Definition at line 258 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleS9S25GammaEta_
private

Definition at line 248 of file DQMSourcePi0.h.

Referenced by DQMSourcePi0().

double DQMSourcePi0::seleS9S25GammaEtaEndCap_
private

Definition at line 259 of file DQMSourcePi0.h.

Referenced by DQMSourcePi0().

double DQMSourcePi0::seleXtalMinEnergy_
private

Definition at line 213 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().

double DQMSourcePi0::seleXtalMinEnergyEndCap_
private

Definition at line 214 of file DQMSourcePi0.h.

Referenced by analyze(), and DQMSourcePi0().