#include <DQMSourcePi0.h>
Public Member Functions | |
DQMSourcePi0 (const edm::ParameterSet &) | |
~DQMSourcePi0 () | |
Protected Member Functions | |
void | analyze (const edm::Event &e, const edm::EventSetup &c) |
void | beginJob () |
void | beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) |
void | beginRun (const edm::Run &r, const edm::EventSetup &c) |
void | convxtalid (int &, int &) |
int | diff_neta_s (int, int) |
int | diff_nphi_s (int, int) |
void | endJob () |
void | endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) |
void | endRun (const edm::Run &r, const edm::EventSetup &c) |
Private Attributes | |
int | clusEtaSize_ |
int | clusPhiSize_ |
double | clusSeedThr_ |
double | clusSeedThrEndCap_ |
DQMStore * | dbe_ |
std::vector< EBDetId > | detIdEBRecHits |
std::vector< EEDetId > | detIdEERecHits |
std::vector< EcalRecHit > | EBRecHits |
std::vector< EcalRecHit > | EERecHits |
int | eventCounter_ |
std::string | fileName_ |
Output file name if required. | |
std::string | folderName_ |
DQM folder name. | |
int | gammaCandEtaSize_ |
int | gammaCandPhiSize_ |
MonitorElement * | hEventEnergyEBeta_ |
Distribution of total event energy EB (eta) | |
MonitorElement * | hEventEnergyEBpi0_ |
Distribution of total event energy EB (pi0) | |
MonitorElement * | hEventEnergyEEeta_ |
Distribution of total event energy EE (eta) | |
MonitorElement * | hEventEnergyEEpi0_ |
Distribution of total event energy EE (pi0) | |
MonitorElement * | hiEtaDistrEBeta_ |
Distribution of rechits in iEta (eta) | |
MonitorElement * | hiEtaDistrEBpi0_ |
Distribution of rechits in iEta (pi0) | |
MonitorElement * | hiPhiDistrEBeta_ |
Distribution of rechits in iPhi (eta) | |
MonitorElement * | hiPhiDistrEBpi0_ |
Distribution of rechits in iPhi (pi0) | |
MonitorElement * | hIsoEtaEB_ |
Eta Iso EB. | |
MonitorElement * | hIsoEtaEE_ |
Eta Iso EE. | |
MonitorElement * | hIsoPi0EB_ |
Pi0 Iso EB. | |
MonitorElement * | hIsoPi0EE_ |
Pi0 Iso EE. | |
MonitorElement * | hiXDistrEEeta_ |
Distribution of rechits in ix EE (eta) | |
MonitorElement * | hiXDistrEEpi0_ |
Distribution of rechits in ix EE (pi0) | |
MonitorElement * | hiYDistrEEeta_ |
Distribution of rechits in iy EE (eta) | |
MonitorElement * | hiYDistrEEpi0_ |
Distribution of rechits in iy EE (pi0) | |
MonitorElement * | hMeanRecHitEnergyEBeta_ |
Distribution of Mean energy per rechit EB (eta) | |
MonitorElement * | hMeanRecHitEnergyEBpi0_ |
Distribution of Mean energy per rechit EB (pi0) | |
MonitorElement * | hMeanRecHitEnergyEEeta_ |
Distribution of Mean energy per rechit EE (eta) | |
MonitorElement * | hMeanRecHitEnergyEEpi0_ |
Distribution of Mean energy per rechit EE (pi0) | |
MonitorElement * | hMinvEtaEB_ |
Eta invariant mass in EB. | |
MonitorElement * | hMinvEtaEE_ |
Eta invariant mass in EE. | |
MonitorElement * | hMinvPi0EB_ |
Pi0 invariant mass in EB. | |
MonitorElement * | hMinvPi0EE_ |
Pi0 invariant mass in EE. | |
MonitorElement * | hNRecHitsEBeta_ |
Distribution of number of RecHits EB (eta) | |
MonitorElement * | hNRecHitsEBpi0_ |
Distribution of number of RecHits EB (pi0) | |
MonitorElement * | hNRecHitsEEeta_ |
Distribution of number of RecHits EE (eta) | |
MonitorElement * | hNRecHitsEEpi0_ |
Distribution of number of RecHits EE (pi0) | |
MonitorElement * | hPt1EtaEB_ |
Pt of the 1st most energetic Eta photon in EB. | |
MonitorElement * | hPt1EtaEE_ |
Pt of the 1st most energetic Eta photon in EE. | |
MonitorElement * | hPt1Pi0EB_ |
Pt of the 1st most energetic Pi0 photon in EB. | |
MonitorElement * | hPt1Pi0EE_ |
Pt of the 1st most energetic Pi0 photon in EE. | |
MonitorElement * | hPt2EtaEB_ |
Pt of the 2nd most energetic Eta photon in EB. | |
MonitorElement * | hPt2EtaEE_ |
Pt of the 2nd most energetic Eta photon in EE. | |
MonitorElement * | hPt2Pi0EB_ |
Pt of the 2nd most energetic Pi0 photon in EB. | |
MonitorElement * | hPt2Pi0EE_ |
Pt of the 2nd most energetic Pi0 photon in EE. | |
MonitorElement * | hPtEtaEB_ |
Eta Pt in EB. | |
MonitorElement * | hPtEtaEE_ |
Eta Pt in EE. | |
MonitorElement * | hPtPi0EB_ |
Pi0 Pt in EB. | |
MonitorElement * | hPtPi0EE_ |
Pi0 Pt in EE. | |
MonitorElement * | hRechitEnergyEBeta_ |
Energy Distribution of rechits EB (eta) | |
MonitorElement * | hRechitEnergyEBpi0_ |
Energy Distribution of rechits EB (pi0) | |
MonitorElement * | hRechitEnergyEEeta_ |
Energy Distribution of rechits EE (eta) | |
MonitorElement * | hRechitEnergyEEpi0_ |
Energy Distribution of rechits EE (pi0) | |
MonitorElement * | hS4S91EtaEB_ |
S4S9 of the 1st most energetic eta photon. | |
MonitorElement * | hS4S91EtaEE_ |
S4S9 of the 1st most energetic eta photon EE. | |
MonitorElement * | hS4S91Pi0EB_ |
S4S9 of the 1st most energetic pi0 photon. | |
MonitorElement * | hS4S91Pi0EE_ |
S4S9 of the 1st most energetic pi0 photon EE. | |
MonitorElement * | hS4S92EtaEB_ |
S4S9 of the 2nd most energetic eta photon. | |
MonitorElement * | hS4S92EtaEE_ |
S4S9 of the 2nd most energetic eta photon EE. | |
MonitorElement * | hS4S92Pi0EB_ |
S4S9 of the 2nd most energetic pi0 photon. | |
MonitorElement * | hS4S92Pi0EE_ |
S4S9 of the 2nd most energetic pi0 photon EE. | |
bool | isMonEBeta_ |
bool | isMonEBpi0_ |
which subdet will be monitored | |
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. | |
edm::InputTag | productMonitoredEBeta_ |
edm::InputTag | productMonitoredEBpi0_ |
object to monitor | |
edm::InputTag | productMonitoredEEeta_ |
edm::InputTag | productMonitoredEEpi0_ |
object to monitor | |
double | ptMinForIsolation_ |
double | ptMinForIsolationEndCap_ |
double | ptMinForIsolationEta_ |
double | ptMinForIsolationEtaEndCap_ |
bool | saveToFile_ |
Write to file. | |
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 | |
double | selePtGammaEta_ |
for eta->gg barrel | |
double | selePtGammaEtaEndCap_ |
for eta->gg endcap | |
double | selePtPi0_ |
double | selePtPi0EndCap_ |
double | seleS4S9Gamma_ |
double | seleS4S9GammaEndCap_ |
double | seleS4S9GammaEta_ |
double | seleS4S9GammaEtaEndCap_ |
double | seleS9S25GammaEta_ |
double | seleS9S25GammaEtaEndCap_ |
double | seleXtalMinEnergy_ |
double | seleXtalMinEnergyEndCap_ |
Definition at line 42 of file DQMSourcePi0.h.
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 52 of file DQMSourcePi0.cc.
References clusEtaSize_, clusPhiSize_, clusSeedThr_, clusSeedThrEndCap_, dbe_, fileName_, folderName_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), isMonEBeta_, isMonEBpi0_, isMonEEeta_, isMonEEpi0_, cppFunctionSkipper::operator, 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_.
: eventCounter_(0) { dbe_ = Service<DQMStore>().operator->(); folderName_ = ps.getUntrackedParameter<string>("FolderName","HLT/AlCaEcalPi0"); prescaleFactor_ = ps.getUntrackedParameter<int>("prescaleFactor",1); productMonitoredEBpi0_= ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEBpi0Tag"); productMonitoredEBeta_= ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEBetaTag"); productMonitoredEEpi0_= ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEEpi0Tag"); productMonitoredEEeta_= ps.getUntrackedParameter<edm::InputTag>("AlCaStreamEEetaTag"); isMonEBpi0_ = ps.getUntrackedParameter<bool>("isMonEBpi0",false); isMonEBeta_ = ps.getUntrackedParameter<bool>("isMonEBeta",false); isMonEEpi0_ = ps.getUntrackedParameter<bool>("isMonEEpi0",false); isMonEEeta_ = ps.getUntrackedParameter<bool>("isMonEEeta",false); saveToFile_=ps.getUntrackedParameter<bool>("SaveToFile",false); fileName_= ps.getUntrackedParameter<string>("FileName","MonitorAlCaEcalPi0.root"); clusSeedThr_ = ps.getParameter<double> ("clusSeedThr"); clusSeedThrEndCap_ = ps.getParameter<double> ("clusSeedThrEndCap"); clusEtaSize_ = ps.getParameter<int> ("clusEtaSize"); clusPhiSize_ = ps.getParameter<int> ("clusPhiSize"); if ( clusPhiSize_ % 2 == 0 || clusEtaSize_ % 2 == 0) edm::LogError("AlCaPi0RecHitsProducerError") << "Size of eta/phi for simple clustering should be odd numbers"; seleXtalMinEnergy_ = ps.getParameter<double>("seleXtalMinEnergy"); seleXtalMinEnergyEndCap_ = ps.getParameter<double>("seleXtalMinEnergyEndCap"); selePtGamma_ = ps.getParameter<double> ("selePtGamma"); selePtPi0_ = ps.getParameter<double> ("selePtPi0"); seleMinvMaxPi0_ = ps.getParameter<double> ("seleMinvMaxPi0"); seleMinvMinPi0_ = ps.getParameter<double> ("seleMinvMinPi0"); seleS4S9Gamma_ = ps.getParameter<double> ("seleS4S9Gamma"); selePi0Iso_ = ps.getParameter<double> ("selePi0Iso"); ptMinForIsolation_ = ps.getParameter<double> ("ptMinForIsolation"); selePi0BeltDR_ = ps.getParameter<double> ("selePi0BeltDR"); selePi0BeltDeta_ = ps.getParameter<double> ("selePi0BeltDeta"); selePtGammaEndCap_ = ps.getParameter<double> ("selePtGammaEndCap"); selePtPi0EndCap_ = ps.getParameter<double> ("selePtPi0EndCap"); seleS4S9GammaEndCap_ = ps.getParameter<double> ("seleS4S9GammaEndCap"); seleMinvMaxPi0EndCap_ = ps.getParameter<double> ("seleMinvMaxPi0EndCap"); seleMinvMinPi0EndCap_ = ps.getParameter<double> ("seleMinvMinPi0EndCap"); ptMinForIsolationEndCap_ = ps.getParameter<double> ("ptMinForIsolationEndCap"); selePi0BeltDREndCap_ = ps.getParameter<double> ("selePi0BeltDREndCap"); selePi0BeltDetaEndCap_ = ps.getParameter<double> ("selePi0BeltDetaEndCap"); selePi0IsoEndCap_ = ps.getParameter<double> ("selePi0IsoEndCap"); selePtGammaEta_ = ps.getParameter<double> ("selePtGammaEta"); selePtEta_ = ps.getParameter<double> ("selePtEta"); seleS4S9GammaEta_ = ps.getParameter<double> ("seleS4S9GammaEta"); seleS9S25GammaEta_ = ps.getParameter<double> ("seleS9S25GammaEta"); seleMinvMaxEta_ = ps.getParameter<double> ("seleMinvMaxEta"); seleMinvMinEta_ = ps.getParameter<double> ("seleMinvMinEta"); ptMinForIsolationEta_ = ps.getParameter<double> ("ptMinForIsolationEta"); seleEtaIso_ = ps.getParameter<double> ("seleEtaIso"); seleEtaBeltDR_ = ps.getParameter<double> ("seleEtaBeltDR"); seleEtaBeltDeta_ = ps.getParameter<double> ("seleEtaBeltDeta"); selePtGammaEtaEndCap_ = ps.getParameter<double> ("selePtGammaEtaEndCap"); selePtEtaEndCap_ = ps.getParameter<double> ("selePtEtaEndCap"); seleS4S9GammaEtaEndCap_ = ps.getParameter<double> ("seleS4S9GammaEtaEndCap"); seleS9S25GammaEtaEndCap_ = ps.getParameter<double> ("seleS9S25GammaEtaEndCap"); seleMinvMaxEtaEndCap_ = ps.getParameter<double> ("seleMinvMaxEtaEndCap"); seleMinvMinEtaEndCap_ = ps.getParameter<double> ("seleMinvMinEtaEndCap"); ptMinForIsolationEtaEndCap_ = ps.getParameter<double> ("ptMinForIsolationEtaEndCap"); seleEtaIsoEndCap_ = ps.getParameter<double> ("seleEtaIsoEndCap"); seleEtaBeltDREndCap_ = ps.getParameter<double> ("seleEtaBeltDREndCap"); seleEtaBeltDetaEndCap_ = ps.getParameter<double> ("seleEtaBeltDetaEndCap"); // Parameters for the position calculation: edm::ParameterSet posCalcParameters = ps.getParameter<edm::ParameterSet>("posCalcParameters"); posCalculator_ = PositionCalc(posCalcParameters); }
DQMSourcePi0::~DQMSourcePi0 | ( | ) |
Definition at line 141 of file DQMSourcePi0.cc.
{}
void DQMSourcePi0::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
check s4s9
calculate e5x5
already clustered
check s4s9
calculate e5x5
already clustered
Implements edm::EDAnalyzer.
Definition at line 344 of file DQMSourcePi0.cc.
References abs, PositionCalc::Calculate_Location(), clusEtaSize_, clusPhiSize_, clusSeedThr_, clusSeedThrEndCap_, convxtalid(), funct::cos(), detIdEBRecHits, detIdEERecHits, diff_neta_s(), diff_nphi_s(), EBRecHits, DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, EERecHits, relval_parameters_module::energy, eventCounter_, create_public_lumi_plots::exp, MonitorElement::Fill(), spr::find(), edm::EventSetup::get(), edm::Event::getByLabel(), 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_, i, EBDetId::ieta(), EBDetId::iphi(), isMonEBeta_, isMonEBpi0_, isMonEEeta_, isMonEEpi0_, edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), j, gen::k, 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(), python::multivaluedict::sort(), and mathSSE::sqrt().
{ if (eventCounter_% prescaleFactor_ ) return; eventCounter_++; edm::ESHandle<CaloTopology> theCaloTopology; iSetup.get<CaloTopologyRecord>().get(theCaloTopology); std::vector<EcalRecHit> seeds; seeds.clear(); vector<EBDetId> usedXtals; usedXtals.clear(); detIdEBRecHits.clear(); EBRecHits.clear(); edm::Handle<EcalRecHitCollection> rhEBpi0; edm::Handle<EcalRecHitCollection> rhEBeta; edm::Handle<EcalRecHitCollection> rhEEpi0; edm::Handle<EcalRecHitCollection> rhEEeta; if(isMonEBpi0_) iEvent.getByLabel(productMonitoredEBpi0_, rhEBpi0); if(isMonEBeta_) iEvent.getByLabel(productMonitoredEBeta_, rhEBeta); if(isMonEEpi0_) iEvent.getByLabel(productMonitoredEEpi0_, rhEEpi0); if(isMonEEeta_) iEvent.getByLabel(productMonitoredEEeta_, rhEEeta); // Initialize the Position Calc const CaloSubdetectorGeometry *geometry_p; const CaloSubdetectorGeometry *geometryEE_p; const CaloSubdetectorGeometry *geometryES_p; const CaloSubdetectorTopology *topology_p; const CaloSubdetectorTopology *topology_ee; edm::ESHandle<CaloGeometry> geoHandle; iSetup.get<CaloGeometryRecord>().get(geoHandle); geometry_p = geoHandle->getSubdetectorGeometry(DetId::Ecal,EcalBarrel); geometryEE_p = geoHandle->getSubdetectorGeometry(DetId::Ecal,EcalEndcap); geometryES_p = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalPreshower); topology_p = theCaloTopology->getSubdetectorTopology(DetId::Ecal,EcalBarrel); topology_ee = theCaloTopology->getSubdetectorTopology(DetId::Ecal,EcalEndcap); EcalRecHitCollection::const_iterator itb; // fill EB pi0 histos if(isMonEBpi0_ ){ if (rhEBpi0.isValid() && (rhEBpi0->size() > 0)){ const EcalRecHitCollection *hitCollection_p = rhEBpi0.product(); float etot =0; for(itb=rhEBpi0->begin(); itb!=rhEBpi0->end(); ++itb){ EBDetId id(itb->id()); double energy = itb->energy(); if( energy < seleXtalMinEnergy_) continue; EBDetId det = itb->id(); detIdEBRecHits.push_back(det); EBRecHits.push_back(*itb); if (energy > clusSeedThr_) seeds.push_back(*itb); hiPhiDistrEBpi0_->Fill(id.iphi()); hiEtaDistrEBpi0_->Fill(id.ieta()); hRechitEnergyEBpi0_->Fill(itb->energy()); etot+= itb->energy(); } // Eb rechits hNRecHitsEBpi0_->Fill(rhEBpi0->size()); hMeanRecHitEnergyEBpi0_->Fill(etot/rhEBpi0->size()); hEventEnergyEBpi0_->Fill(etot); // cout << " EB RH Pi0 collection: #, mean rh_e, event E "<<rhEBpi0->size()<<" "<<etot/rhEBpi0->size()<<" "<<etot<<endl; // Pi0 maker //cout<< " RH coll size: "<<rhEBpi0->size()<<endl; //cout<< " Pi0 seeds: "<<seeds.size()<<endl; int nClus; vector<float> eClus; vector<float> etClus; vector<float> etaClus; vector<float> thetaClus; vector<float> phiClus; vector<EBDetId> max_hit; vector< vector<EcalRecHit> > RecHitsCluster; vector< vector<EcalRecHit> > RecHitsCluster5x5; vector<float> s4s9Clus; vector<float> s9s25Clus; nClus=0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) sort(seeds.begin(), seeds.end(), ecalRecHitLess()); for (std::vector<EcalRecHit>::iterator itseed=seeds.begin(); itseed!=seeds.end(); itseed++) { EBDetId seed_id = itseed->id(); std::vector<EBDetId>::const_iterator usedIds; bool seedAlreadyUsed=false; for(usedIds=usedXtals.begin(); usedIds!=usedXtals.end(); usedIds++){ if(*usedIds==seed_id){ seedAlreadyUsed=true; //cout<< " Seed with energy "<<itseed->energy()<<" was used !"<<endl; break; } } if(seedAlreadyUsed)continue; std::vector<DetId> clus_v = topology_p->getWindow(seed_id,clusEtaSize_,clusPhiSize_); std::vector<std::pair<DetId,float> > clus_used; //Reject the seed if not able to build the cluster around it correctly //if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough RecHits "<<endl; continue;} vector<EcalRecHit> RecHitsInWindow; vector<EcalRecHit> RecHitsInWindow5x5; double simple_energy = 0; for (std::vector<DetId >::iterator det=clus_v.begin(); det!=clus_v.end(); det++) { EBDetId EBdet = *det; // cout<<" det "<< EBdet<<" ieta "<<EBdet.ieta()<<" iphi "<<EBdet.iphi()<<endl; bool HitAlreadyUsed=false; for(usedIds=usedXtals.begin(); usedIds!=usedXtals.end(); usedIds++){ if(*usedIds==*det){ HitAlreadyUsed=true; break; } } if(HitAlreadyUsed)continue; std::vector<EBDetId>::iterator itdet = find( detIdEBRecHits.begin(),detIdEBRecHits.end(),EBdet); if(itdet == detIdEBRecHits.end()) continue; int nn = int(itdet - detIdEBRecHits.begin()); usedXtals.push_back(*det); RecHitsInWindow.push_back(EBRecHits[nn]); clus_used.push_back(std::make_pair(*det,1)); simple_energy = simple_energy + EBRecHits[nn].energy(); } if(simple_energy <= 0) continue; math::XYZPoint clus_pos = posCalculator_.Calculate_Location(clus_used,hitCollection_p,geometry_p,geometryES_p); //cout<< " Simple Clustering: Total energy for this simple cluster : "<<simple_energy<<endl; //cout<< " Simple Clustering: eta phi : "<<clus_pos.eta()<<" "<<clus_pos.phi()<<endl; //cout<< " Simple Clustering: x y z : "<<clus_pos.x()<<" "<<clus_pos.y()<<" "<<clus_pos.z()<<endl; float theta_s = 2. * atan(exp(-clus_pos.eta())); // float p0x_s = simple_energy * sin(theta_s) * cos(clus_pos.phi()); //float p0y_s = simple_energy * sin(theta_s) * sin(clus_pos.phi()); // float p0z_s = simple_energy * cos(theta_s); //float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s); float et_s = simple_energy * sin(theta_s); //cout << " Simple Clustering: E,Et,px,py,pz: "<<simple_energy<<" "<<et_s<<" "<<p0x_s<<" "<<p0y_s<<" "<<endl; //Compute S4/S9 variable //We are not sure to have 9 RecHits so need to check eta and phi: float s4s9_tmp[4]; for(int i=0;i<4;i++)s4s9_tmp[i]= 0; int seed_ieta = seed_id.ieta(); int seed_iphi = seed_id.iphi(); convxtalid( seed_iphi,seed_ieta); float e3x3 = 0; float e5x5 = 0; for(unsigned int j=0; j<RecHitsInWindow.size();j++){ EBDetId det = (EBDetId)RecHitsInWindow[j].id(); int ieta = det.ieta(); int iphi = det.iphi(); convxtalid(iphi,ieta); float en = RecHitsInWindow[j].energy(); int dx = diff_neta_s(seed_ieta,ieta); int dy = diff_nphi_s(seed_iphi,iphi); if(dx <= 0 && dy <=0) s4s9_tmp[0] += en; if(dx >= 0 && dy <=0) s4s9_tmp[1] += en; if(dx <= 0 && dy >=0) s4s9_tmp[2] += en; if(dx >= 0 && dy >=0) s4s9_tmp[3] += en; if(std::abs(dx)<=1 && std::abs(dy)<=1) e3x3 += en; if(std::abs(dx)<=2 && std::abs(dy)<=2) e5x5 += en; } if(e3x3 <= 0) continue; float s4s9_max = *max_element( s4s9_tmp,s4s9_tmp+4)/e3x3; std::vector<DetId> clus_v5x5 = topology_p->getWindow(seed_id,5,5); for( std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++){ EBDetId det = *idItr; std::vector<EBDetId>::iterator itdet0 = find(usedXtals.begin(),usedXtals.end(),det); if(itdet0 != usedXtals.end()) continue; //inside collections std::vector<EBDetId>::iterator itdet = find( detIdEBRecHits.begin(),detIdEBRecHits.end(),det); if(itdet == detIdEBRecHits.end()) continue; int nn = int(itdet - detIdEBRecHits.begin()); RecHitsInWindow5x5.push_back(EBRecHits[nn]); e5x5 += EBRecHits[nn].energy(); } if(e5x5 <= 0) continue; eClus.push_back(simple_energy); etClus.push_back(et_s); etaClus.push_back(clus_pos.eta()); thetaClus.push_back(theta_s); phiClus.push_back(clus_pos.phi()); s4s9Clus.push_back(s4s9_max); s9s25Clus.push_back(e3x3/e5x5); RecHitsCluster.push_back(RecHitsInWindow); RecHitsCluster5x5.push_back(RecHitsInWindow5x5); // std::cout<<" EB pi0 cluster (n,nxt,e,et eta,phi,s4s9) "<<nClus<<" "<<int(RecHitsInWindow.size())<<" "<<eClus[nClus]<<" "<<" "<<etClus[nClus]<<" "<<etaClus[nClus]<<" "<<phiClus[nClus]<<" "<<s4s9Clus[nClus]<<std::endl; nClus++; } // cout<< " Pi0 clusters: "<<nClus<<endl; // Selection, based on Simple clustering //pi0 candidates int npi0_s=0; // if (nClus <= 1) return; for(Int_t i=0 ; i<nClus ; i++){ for(Int_t j=i+1 ; j<nClus ; j++){ // cout<<" i "<<i<<" etClus[i] "<<etClus[i]<<" j "<<j<<" etClus[j] "<<etClus[j]<<endl; if( etClus[i]>selePtGamma_ && etClus[j]>selePtGamma_ && s4s9Clus[i]>seleS4S9Gamma_ && s4s9Clus[j]>seleS4S9Gamma_){ float p0x = etClus[i] * cos(phiClus[i]); float p1x = etClus[j] * cos(phiClus[j]); float p0y = etClus[i] * sin(phiClus[i]); float p1y = etClus[j] * sin(phiClus[j]); float p0z = eClus[i] * cos(thetaClus[i]); float p1z = eClus[j] * cos(thetaClus[j]); float pt_pair = sqrt( (p0x+p1x)*(p0x+p1x) + (p0y+p1y)*(p0y+p1y)); if (pt_pair < selePtPi0_)continue; float m_inv = sqrt ( (eClus[i] + eClus[j])*(eClus[i] + eClus[j]) - (p0x+p1x)*(p0x+p1x) - (p0y+p1y)*(p0y+p1y) - (p0z+p1z)*(p0z+p1z) ); if ( (m_inv<seleMinvMaxPi0_) && (m_inv>seleMinvMinPi0_) ){ //New Loop on cluster to measure isolation: vector<int> IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x+p1x), (p0y+p1y), (p0z+p1z)); for(Int_t k=0 ; k<nClus ; k++){ if(etClus[k] < ptMinForIsolation_) continue; if(k==i || k==j)continue; TVector3 ClusVect = TVector3(etClus[k] *cos(phiClus[k]), etClus[k] * sin(phiClus[k]) , eClus[k] * cos(thetaClus[k])); float dretacl = fabs(etaClus[k] - pairVect.Eta()); float drcl = ClusVect.DeltaR(pairVect); // cout<< " Iso: k, E, drclpi0, detaclpi0, dphiclpi0 "<<k<<" "<<eClus[k]<<" "<<drclpi0<<" "<<dretaclpi0<<endl; if((drcl<selePi0BeltDR_) && (dretacl<selePi0BeltDeta_) ){ // cout<< " ... good iso cluster #: "<<k<<" etClus[k] "<<etClus[k] <<endl; Iso = Iso + etClus[k]; IsoClus.push_back(k); } } // cout<<" Iso/pt_pi0 "<<Iso/pt_pi0<<endl; if(Iso/pt_pair<selePi0Iso_){ //for(unsigned int Rec=0;Rec<RecHitsCluster[i].size();Rec++)pi0EBRecHitCollection->push_back(RecHitsCluster[i][Rec]); //for(unsigned int Rec2=0;Rec2<RecHitsCluster[j].size();Rec2++)pi0EBRecHitCollection->push_back(RecHitsCluster[j][Rec2]); hMinvPi0EB_->Fill(m_inv); hPt1Pi0EB_->Fill(etClus[i]); hPt2Pi0EB_->Fill(etClus[j]); hPtPi0EB_->Fill(pt_pair); hIsoPi0EB_->Fill(Iso/pt_pair); hS4S91Pi0EB_->Fill(s4s9Clus[i]); hS4S92Pi0EB_->Fill(s4s9Clus[j]); // cout <<" EB Simple Clustering: pi0 Candidate pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<" "<<endl; npi0_s++; } } } } // End of the "j" loop over Simple Clusters } // End of the "i" loop over Simple Clusters // cout<<" (Simple Clustering) EB Pi0 candidates #: "<<npi0_s<<endl; } // rhEBpi0.valid() ends } // isMonEBpi0 ends //------------------ End of pi0 in EB --------------------------// // fill EB eta histos if(isMonEBeta_ ){ if (rhEBeta.isValid() && (rhEBeta->size() > 0)){ const EcalRecHitCollection *hitCollection_p = rhEBeta.product(); float etot =0; for(itb=rhEBeta->begin(); itb!=rhEBeta->end(); ++itb){ EBDetId id(itb->id()); double energy = itb->energy(); if( energy < seleXtalMinEnergy_) continue; EBDetId det = itb->id(); detIdEBRecHits.push_back(det); EBRecHits.push_back(*itb); if (energy > clusSeedThr_) seeds.push_back(*itb); hiPhiDistrEBeta_->Fill(id.iphi()); hiEtaDistrEBeta_->Fill(id.ieta()); hRechitEnergyEBeta_->Fill(itb->energy()); etot+= itb->energy(); } // Eb rechits hNRecHitsEBeta_->Fill(rhEBeta->size()); hMeanRecHitEnergyEBeta_->Fill(etot/rhEBeta->size()); hEventEnergyEBeta_->Fill(etot); // cout << " EB RH Eta collection: #, mean rh_e, event E "<<rhEBeta->size()<<" "<<etot/rhEBeta->size()<<" "<<etot<<endl; // Eta maker //cout<< " RH coll size: "<<rhEBeta->size()<<endl; //cout<< " Eta seeds: "<<seeds.size()<<endl; int nClus; vector<float> eClus; vector<float> etClus; vector<float> etaClus; vector<float> thetaClus; vector<float> phiClus; vector<EBDetId> max_hit; vector< vector<EcalRecHit> > RecHitsCluster; vector< vector<EcalRecHit> > RecHitsCluster5x5; vector<float> s4s9Clus; vector<float> s9s25Clus; nClus=0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) sort(seeds.begin(), seeds.end(), ecalRecHitLess()); for (std::vector<EcalRecHit>::iterator itseed=seeds.begin(); itseed!=seeds.end(); itseed++) { EBDetId seed_id = itseed->id(); std::vector<EBDetId>::const_iterator usedIds; bool seedAlreadyUsed=false; for(usedIds=usedXtals.begin(); usedIds!=usedXtals.end(); usedIds++){ if(*usedIds==seed_id){ seedAlreadyUsed=true; //cout<< " Seed with energy "<<itseed->energy()<<" was used !"<<endl; break; } } if(seedAlreadyUsed)continue; std::vector<DetId> clus_v = topology_p->getWindow(seed_id,clusEtaSize_,clusPhiSize_); std::vector<std::pair<DetId,float> > clus_used; //Reject the seed if not able to build the cluster around it correctly //if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough RecHits "<<endl; continue;} vector<EcalRecHit> RecHitsInWindow; vector<EcalRecHit> RecHitsInWindow5x5; double simple_energy = 0; for (std::vector<DetId>::iterator det=clus_v.begin(); det!=clus_v.end(); det++) { EBDetId EBdet = *det; // cout<<" det "<< EBdet<<" ieta "<<EBdet.ieta()<<" iphi "<<EBdet.iphi()<<endl; bool HitAlreadyUsed=false; for(usedIds=usedXtals.begin(); usedIds!=usedXtals.end(); usedIds++){ if(*usedIds==*det){ HitAlreadyUsed=true; break; } } if(HitAlreadyUsed)continue; std::vector<EBDetId>::iterator itdet = find( detIdEBRecHits.begin(),detIdEBRecHits.end(),EBdet); if(itdet == detIdEBRecHits.end()) continue; int nn = int(itdet - detIdEBRecHits.begin()); usedXtals.push_back(*det); RecHitsInWindow.push_back(EBRecHits[nn]); clus_used.push_back(std::make_pair(*det,1)); simple_energy = simple_energy + EBRecHits[nn].energy(); } if(simple_energy <= 0) continue; math::XYZPoint clus_pos = posCalculator_.Calculate_Location(clus_used,hitCollection_p,geometry_p,geometryES_p); //cout<< " Simple Clustering: Total energy for this simple cluster : "<<simple_energy<<endl; //cout<< " Simple Clustering: eta phi : "<<clus_pos.eta()<<" "<<clus_pos.phi()<<endl; //cout<< " Simple Clustering: x y z : "<<clus_pos.x()<<" "<<clus_pos.y()<<" "<<clus_pos.z()<<endl; float theta_s = 2. * atan(exp(-clus_pos.eta())); // float p0x_s = simple_energy * sin(theta_s) * cos(clus_pos.phi()); //float p0y_s = simple_energy * sin(theta_s) * sin(clus_pos.phi()); // float p0z_s = simple_energy * cos(theta_s); //float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s); float et_s = simple_energy * sin(theta_s); //cout << " Simple Clustering: E,Et,px,py,pz: "<<simple_energy<<" "<<et_s<<" "<<p0x_s<<" "<<p0y_s<<" "<<endl; //Compute S4/S9 variable //We are not sure to have 9 RecHits so need to check eta and phi: float s4s9_tmp[4]; for(int i=0;i<4;i++)s4s9_tmp[i]= 0; int seed_ieta = seed_id.ieta(); int seed_iphi = seed_id.iphi(); convxtalid( seed_iphi,seed_ieta); float e3x3 = 0; float e5x5 = 0; for(unsigned int j=0; j<RecHitsInWindow.size();j++){ EBDetId det = (EBDetId)RecHitsInWindow[j].id(); int ieta = det.ieta(); int iphi = det.iphi(); convxtalid(iphi,ieta); float en = RecHitsInWindow[j].energy(); int dx = diff_neta_s(seed_ieta,ieta); int dy = diff_nphi_s(seed_iphi,iphi); if(dx <= 0 && dy <=0) s4s9_tmp[0] += en; if(dx >= 0 && dy <=0) s4s9_tmp[1] += en; if(dx <= 0 && dy >=0) s4s9_tmp[2] += en; if(dx >= 0 && dy >=0) s4s9_tmp[3] += en; if(std::abs(dx)<=1 && std::abs(dy)<=1) e3x3 += en; if(std::abs(dx)<=2 && std::abs(dy)<=2) e5x5 += en; } if(e3x3 <= 0) continue; float s4s9_max = *max_element( s4s9_tmp,s4s9_tmp+4)/e3x3; std::vector<DetId> clus_v5x5 = topology_p->getWindow(seed_id,5,5); for( std::vector<DetId>::const_iterator idItr = clus_v5x5.begin(); idItr != clus_v5x5.end(); idItr++){ EBDetId det = *idItr; std::vector<EBDetId>::iterator itdet0 = find(usedXtals.begin(),usedXtals.end(),det); if(itdet0 != usedXtals.end()) continue; //inside collections std::vector<EBDetId>::iterator itdet = find( detIdEBRecHits.begin(),detIdEBRecHits.end(),det); if(itdet == detIdEBRecHits.end()) continue; int nn = int(itdet - detIdEBRecHits.begin()); RecHitsInWindow5x5.push_back(EBRecHits[nn]); e5x5 += EBRecHits[nn].energy(); } if(e5x5 <= 0) continue; eClus.push_back(simple_energy); etClus.push_back(et_s); etaClus.push_back(clus_pos.eta()); thetaClus.push_back(theta_s); phiClus.push_back(clus_pos.phi()); s4s9Clus.push_back(s4s9_max); s9s25Clus.push_back(e3x3/e5x5); RecHitsCluster.push_back(RecHitsInWindow); RecHitsCluster5x5.push_back(RecHitsInWindow5x5); // std::cout<<" EB Eta cluster (n,nxt,e,et eta,phi,s4s9) "<<nClus<<" "<<int(RecHitsInWindow.size())<<" "<<eClus[nClus]<<" "<<" "<<etClus[nClus]<<" "<<etaClus[nClus]<<" "<<phiClus[nClus]<<" "<<s4s9Clus[nClus]<<std::endl; nClus++; } // cout<< " Eta clusters: "<<nClus<<endl; // Selection, based on Simple clustering //eta candidates int npi0_s=0; // if (nClus <= 1) return; for(Int_t i=0 ; i<nClus ; i++){ for(Int_t j=i+1 ; j<nClus ; j++){ // cout<<" i "<<i<<" etClus[i] "<<etClus[i]<<" j "<<j<<" etClus[j] "<<etClus[j]<<endl; if( etClus[i]>selePtGammaEta_ && etClus[j]>selePtGammaEta_ && s4s9Clus[i]>seleS4S9GammaEta_ && s4s9Clus[j]>seleS4S9GammaEta_){ float p0x = etClus[i] * cos(phiClus[i]); float p1x = etClus[j] * cos(phiClus[j]); float p0y = etClus[i] * sin(phiClus[i]); float p1y = etClus[j] * sin(phiClus[j]); float p0z = eClus[i] * cos(thetaClus[i]); float p1z = eClus[j] * cos(thetaClus[j]); float pt_pair = sqrt( (p0x+p1x)*(p0x+p1x) + (p0y+p1y)*(p0y+p1y)); if (pt_pair < selePtEta_)continue; float m_inv = sqrt ( (eClus[i] + eClus[j])*(eClus[i] + eClus[j]) - (p0x+p1x)*(p0x+p1x) - (p0y+p1y)*(p0y+p1y) - (p0z+p1z)*(p0z+p1z) ); if ( (m_inv<seleMinvMaxEta_) && (m_inv>seleMinvMinEta_) ){ //New Loop on cluster to measure isolation: vector<int> IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x+p1x), (p0y+p1y), (p0z+p1z)); for(Int_t k=0 ; k<nClus ; k++){ if(etClus[k] < ptMinForIsolationEta_) continue; if(k==i || k==j)continue; TVector3 ClusVect = TVector3(etClus[k] *cos(phiClus[k]), etClus[k] * sin(phiClus[k]) , eClus[k] * cos(thetaClus[k])); float dretacl = fabs(etaClus[k] - pairVect.Eta()); float drcl = ClusVect.DeltaR(pairVect); // cout<< " Iso: k, E, drclpi0, detaclpi0, dphiclpi0 "<<k<<" "<<eClus[k]<<" "<<drclpi0<<" "<<dretaclpi0<<endl; if((drcl<seleEtaBeltDR_) && (dretacl<seleEtaBeltDeta_) ){ // cout<< " ... good iso cluster #: "<<k<<" etClus[k] "<<etClus[k] <<endl; Iso = Iso + etClus[k]; IsoClus.push_back(k); } } // cout<<" Iso/pt_pi0 "<<Iso/pt_pi0<<endl; if(Iso/pt_pair<seleEtaIso_){ //for(unsigned int Rec=0;Rec<RecHitsCluster[i].size();Rec++)pi0EBRecHitCollection->push_back(RecHitsCluster[i][Rec]); //for(unsigned int Rec2=0;Rec2<RecHitsCluster[j].size();Rec2++)pi0EBRecHitCollection->push_back(RecHitsCluster[j][Rec2]); hMinvEtaEB_->Fill(m_inv); hPt1EtaEB_->Fill(etClus[i]); hPt2EtaEB_->Fill(etClus[j]); hPtEtaEB_->Fill(pt_pair); hIsoEtaEB_->Fill(Iso/pt_pair); hS4S91EtaEB_->Fill(s4s9Clus[i]); hS4S92EtaEB_->Fill(s4s9Clus[j]); // cout <<" EB Simple Clustering: Eta Candidate pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<" "<<endl; npi0_s++; } } } } // End of the "j" loop over Simple Clusters } // End of the "i" loop over Simple Clusters // cout<<" (Simple Clustering) EB Eta candidates #: "<<npi0_s<<endl; } // rhEBeta.valid() ends } // isMonEBeta ends //------------------ End of Eta in EB --------------------------// //----------------- End of the EB --------------------------// //----------------- Start of the EE --------------------// // fill pi0 EE histos if(isMonEEpi0_){ if (rhEEpi0.isValid() && (rhEEpi0->size() > 0)){ const EcalRecHitCollection *hitCollection_ee = rhEEpi0.product(); float etot =0; detIdEERecHits.clear(); EERecHits.clear(); std::vector<EcalRecHit> seedsEndCap; seedsEndCap.clear(); vector<EEDetId> usedXtalsEndCap; usedXtalsEndCap.clear(); EERecHitCollection::const_iterator ite; for (ite=rhEEpi0->begin(); ite!=rhEEpi0->end(); ite++) { double energy = ite->energy(); if( energy < seleXtalMinEnergyEndCap_) continue; EEDetId det = ite->id(); EEDetId id(ite->id()); detIdEERecHits.push_back(det); EERecHits.push_back(*ite); hiXDistrEEpi0_->Fill(id.ix()); hiYDistrEEpi0_->Fill(id.iy()); hRechitEnergyEEpi0_->Fill(ite->energy()); if (energy > clusSeedThrEndCap_) seedsEndCap.push_back(*ite); etot+= ite->energy(); } // EE rechits hNRecHitsEEpi0_->Fill(rhEEpi0->size()); hMeanRecHitEnergyEEpi0_->Fill(etot/rhEEpi0->size()); hEventEnergyEEpi0_->Fill(etot); // cout << " EE RH Pi0 collection: #, mean rh_e, event E "<<rhEEpi0->size()<<" "<<etot/rhEEpi0->size()<<" "<<etot<<endl; int nClusEndCap; vector<float> eClusEndCap; vector<float> etClusEndCap; vector<float> etaClusEndCap; vector<float> thetaClusEndCap; vector<float> phiClusEndCap; vector< vector<EcalRecHit> > RecHitsClusterEndCap; vector< vector<EcalRecHit> > RecHitsCluster5x5EndCap; vector<float> s4s9ClusEndCap; vector<float> s9s25ClusEndCap; nClusEndCap=0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitLess()); for (std::vector<EcalRecHit>::iterator itseed=seedsEndCap.begin(); itseed!=seedsEndCap.end(); itseed++) { EEDetId seed_id = itseed->id(); std::vector<EEDetId>::const_iterator usedIds; bool seedAlreadyUsed=false; for(usedIds=usedXtalsEndCap.begin(); usedIds!=usedXtalsEndCap.end(); usedIds++){ if(*usedIds==seed_id){ seedAlreadyUsed=true; break; } } if(seedAlreadyUsed)continue; std::vector<DetId> clus_v = topology_ee->getWindow(seed_id,clusEtaSize_,clusPhiSize_); std::vector<std::pair<DetId,float> > clus_used; vector<EcalRecHit> RecHitsInWindow; vector<EcalRecHit> RecHitsInWindow5x5; float simple_energy = 0; for (std::vector<DetId>::iterator det=clus_v.begin(); det!=clus_v.end(); det++) { EEDetId EEdet = *det; bool HitAlreadyUsed=false; for(usedIds=usedXtalsEndCap.begin(); usedIds!=usedXtalsEndCap.end(); usedIds++){ if(*usedIds==*det){ HitAlreadyUsed=true; break; } } if(HitAlreadyUsed)continue; std::vector<EEDetId>::iterator itdet = find( detIdEERecHits.begin(),detIdEERecHits.end(),EEdet); if(itdet == detIdEERecHits.end()) continue; int nn = int(itdet - detIdEERecHits.begin()); usedXtalsEndCap.push_back(*det); RecHitsInWindow.push_back(EERecHits[nn]); clus_used.push_back(std::make_pair(*det,1)); simple_energy = simple_energy + EERecHits[nn].energy(); } if( simple_energy <= 0) continue; math::XYZPoint clus_pos = posCalculator_.Calculate_Location(clus_used,hitCollection_ee,geometryEE_p,geometryES_p); float theta_s = 2. * atan(exp(-clus_pos.eta())); float et_s = simple_energy * sin(theta_s); // float p0x_s = simple_energy * sin(theta_s) * cos(clus_pos.phi()); //float p0y_s = simple_energy * sin(theta_s) * sin(clus_pos.phi()); //float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s); //Compute S4/S9 variable //We are not sure to have 9 RecHits so need to check eta and phi: float s4s9_tmp[4]; for(int i=0;i<4;i++) s4s9_tmp[i]= 0; int ixSeed = seed_id.ix(); int iySeed = seed_id.iy(); float e3x3 = 0; float e5x5 = 0; for(unsigned int j=0; j<RecHitsInWindow.size();j++){ EEDetId det_this = (EEDetId)RecHitsInWindow[j].id(); int dx = ixSeed - det_this.ix(); int dy = iySeed - det_this.iy(); float en = RecHitsInWindow[j].energy(); if(dx <= 0 && dy <=0) s4s9_tmp[0] += en; if(dx >= 0 && dy <=0) s4s9_tmp[1] += en; if(dx <= 0 && dy >=0) s4s9_tmp[2] += en; if(dx >= 0 && dy >=0) s4s9_tmp[3] += en; if( std::abs(dx)<=1 && std::abs(dy)<=1) e3x3 += en; if( std::abs(dx)<=2 && std::abs(dy)<=2) e5x5 += en; } if(e3x3 <= 0) continue; eClusEndCap.push_back(simple_energy); etClusEndCap.push_back(et_s); etaClusEndCap.push_back(clus_pos.eta()); thetaClusEndCap.push_back(theta_s); phiClusEndCap.push_back(clus_pos.phi()); s4s9ClusEndCap.push_back(*max_element( s4s9_tmp,s4s9_tmp+4)/e3x3); s9s25ClusEndCap.push_back(e3x3/e5x5); RecHitsClusterEndCap.push_back(RecHitsInWindow); RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5); // std::cout<<" EE pi0 cluster (n,nxt,e,et eta,phi,s4s9) "<<nClusEndCap<<" "<<int(RecHitsInWindow.size())<<" "<<eClusEndCap[nClusEndCap]<<" "<<" "<<etClusEndCap[nClusEndCap]<<" "<<etaClusEndCap[nClusEndCap]<<" "<<phiClusEndCap[nClusEndCap]<<" "<<s4s9ClusEndCap[nClusEndCap]<<std::endl; nClusEndCap++; } // Selection, based on Simple clustering //pi0 candidates int npi0_se=0; for(Int_t i=0 ; i<nClusEndCap ; i++){ for(Int_t j=i+1 ; j<nClusEndCap ; j++){ if( etClusEndCap[i]>selePtGammaEndCap_ && etClusEndCap[j]>selePtGammaEndCap_ && s4s9ClusEndCap[i]>seleS4S9GammaEndCap_ && s4s9ClusEndCap[j]>seleS4S9GammaEndCap_){ float p0x = etClusEndCap[i] * cos(phiClusEndCap[i]); float p1x = etClusEndCap[j] * cos(phiClusEndCap[j]); float p0y = etClusEndCap[i] * sin(phiClusEndCap[i]); float p1y = etClusEndCap[j] * sin(phiClusEndCap[j]); float p0z = eClusEndCap[i] * cos(thetaClusEndCap[i]); float p1z = eClusEndCap[j] * cos(thetaClusEndCap[j]); float pt_pair = sqrt( (p0x+p1x)*(p0x+p1x) + (p0y+p1y)*(p0y+p1y)); if (pt_pair < selePtPi0EndCap_)continue; float m_inv = sqrt ( (eClusEndCap[i] + eClusEndCap[j])*(eClusEndCap[i] + eClusEndCap[j]) - (p0x+p1x)*(p0x+p1x) - (p0y+p1y)*(p0y+p1y) - (p0z+p1z)*(p0z+p1z) ); if ( (m_inv<seleMinvMaxPi0EndCap_) && (m_inv>seleMinvMinPi0EndCap_) ){ //New Loop on cluster to measure isolation: vector<int> IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x+p1x), (p0y+p1y), (p0z+p1z)); for(Int_t k=0 ; k<nClusEndCap ; k++){ if(etClusEndCap[k] < ptMinForIsolationEndCap_) continue; if(k==i || k==j)continue; TVector3 clusVect = TVector3(etClusEndCap[k] * cos(phiClusEndCap[k]), etClusEndCap[k] * sin(phiClusEndCap[k]) , eClusEndCap[k] * cos(thetaClusEndCap[k]) ) ; float dretacl = fabs(etaClusEndCap[k] - pairVect.Eta()); float drcl = clusVect.DeltaR(pairVect); if(drcl < selePi0BeltDREndCap_ && dretacl < selePi0BeltDetaEndCap_ ){ Iso = Iso + etClusEndCap[k]; IsoClus.push_back(k); } } if(Iso/pt_pair<selePi0IsoEndCap_){ //cout <<" EE Simple Clustering: pi0 Candidate pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<" "<<endl; hMinvPi0EE_->Fill(m_inv); hPt1Pi0EE_->Fill(etClusEndCap[i]); hPt2Pi0EE_->Fill(etClusEndCap[j]); hPtPi0EE_->Fill(pt_pair); hIsoPi0EE_->Fill(Iso/pt_pair); hS4S91Pi0EE_->Fill(s4s9ClusEndCap[i]); hS4S92Pi0EE_->Fill(s4s9ClusEndCap[j]); npi0_se++; } } } } // End of the "j" loop over Simple Clusters } // End of the "i" loop over Simple Clusters // cout<<" (Simple Clustering) EE Pi0 candidates #: "<<npi0_se<<endl; } //rhEEpi0 } //isMonEEpi0 //================End of Pi0 endcap=======================// //================ Eta in EE===============================// // fill pi0 EE histos if(isMonEEeta_){ if (rhEEeta.isValid() && (rhEEeta->size() > 0)){ const EcalRecHitCollection *hitCollection_ee = rhEEeta.product(); float etot =0; detIdEERecHits.clear(); EERecHits.clear(); std::vector<EcalRecHit> seedsEndCap; seedsEndCap.clear(); vector<EEDetId> usedXtalsEndCap; usedXtalsEndCap.clear(); EERecHitCollection::const_iterator ite; for (ite=rhEEeta->begin(); ite!=rhEEeta->end(); ite++) { double energy = ite->energy(); if( energy < seleXtalMinEnergyEndCap_) continue; EEDetId det = ite->id(); EEDetId id(ite->id()); detIdEERecHits.push_back(det); EERecHits.push_back(*ite); hiXDistrEEeta_->Fill(id.ix()); hiYDistrEEeta_->Fill(id.iy()); hRechitEnergyEEeta_->Fill(ite->energy()); if (energy > clusSeedThrEndCap_) seedsEndCap.push_back(*ite); etot+= ite->energy(); } // EE rechits hNRecHitsEEeta_->Fill(rhEEeta->size()); hMeanRecHitEnergyEEeta_->Fill(etot/rhEEeta->size()); hEventEnergyEEeta_->Fill(etot); // cout << " EE RH Eta collection: #, mean rh_e, event E "<<rhEEeta->size()<<" "<<etot/rhEEeta->size()<<" "<<etot<<endl; int nClusEndCap; vector<float> eClusEndCap; vector<float> etClusEndCap; vector<float> etaClusEndCap; vector<float> thetaClusEndCap; vector<float> phiClusEndCap; vector< vector<EcalRecHit> > RecHitsClusterEndCap; vector< vector<EcalRecHit> > RecHitsCluster5x5EndCap; vector<float> s4s9ClusEndCap; vector<float> s9s25ClusEndCap; nClusEndCap=0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitLess()); for (std::vector<EcalRecHit>::iterator itseed=seedsEndCap.begin(); itseed!=seedsEndCap.end(); itseed++) { EEDetId seed_id = itseed->id(); std::vector<EEDetId>::const_iterator usedIds; bool seedAlreadyUsed=false; for(usedIds=usedXtalsEndCap.begin(); usedIds!=usedXtalsEndCap.end(); usedIds++){ if(*usedIds==seed_id){ seedAlreadyUsed=true; break; } } if(seedAlreadyUsed)continue; std::vector<DetId> clus_v = topology_ee->getWindow(seed_id,clusEtaSize_,clusPhiSize_); std::vector<std::pair<DetId,float> > clus_used; vector<EcalRecHit> RecHitsInWindow; vector<EcalRecHit> RecHitsInWindow5x5; float simple_energy = 0; for (std::vector<DetId>::iterator det=clus_v.begin(); det!=clus_v.end(); det++) { EEDetId EEdet = *det; bool HitAlreadyUsed=false; for(usedIds=usedXtalsEndCap.begin(); usedIds!=usedXtalsEndCap.end(); usedIds++){ if(*usedIds==*det){ HitAlreadyUsed=true; break; } } if(HitAlreadyUsed)continue; std::vector<EEDetId>::iterator itdet = find( detIdEERecHits.begin(),detIdEERecHits.end(),EEdet); if(itdet == detIdEERecHits.end()) continue; int nn = int(itdet - detIdEERecHits.begin()); usedXtalsEndCap.push_back(*det); RecHitsInWindow.push_back(EERecHits[nn]); clus_used.push_back(std::make_pair(*det,1)); simple_energy = simple_energy + EERecHits[nn].energy(); } if( simple_energy <= 0) continue; math::XYZPoint clus_pos = posCalculator_.Calculate_Location(clus_used,hitCollection_ee,geometryEE_p,geometryES_p); float theta_s = 2. * atan(exp(-clus_pos.eta())); float et_s = simple_energy * sin(theta_s); // float p0x_s = simple_energy * sin(theta_s) * cos(clus_pos.phi()); //float p0y_s = simple_energy * sin(theta_s) * sin(clus_pos.phi()); //float et_s = sqrt( p0x_s*p0x_s + p0y_s*p0y_s); //Compute S4/S9 variable //We are not sure to have 9 RecHits so need to check eta and phi: float s4s9_tmp[4]; for(int i=0;i<4;i++) s4s9_tmp[i]= 0; int ixSeed = seed_id.ix(); int iySeed = seed_id.iy(); float e3x3 = 0; float e5x5 = 0; for(unsigned int j=0; j<RecHitsInWindow.size();j++){ EEDetId det_this = (EEDetId)RecHitsInWindow[j].id(); int dx = ixSeed - det_this.ix(); int dy = iySeed - det_this.iy(); float en = RecHitsInWindow[j].energy(); if(dx <= 0 && dy <=0) s4s9_tmp[0] += en; if(dx >= 0 && dy <=0) s4s9_tmp[1] += en; if(dx <= 0 && dy >=0) s4s9_tmp[2] += en; if(dx >= 0 && dy >=0) s4s9_tmp[3] += en; if( std::abs(dx)<=1 && std::abs(dy)<=1) e3x3 += en; if( std::abs(dx)<=2 && std::abs(dy)<=2) e5x5 += en; } if(e3x3 <= 0) continue; eClusEndCap.push_back(simple_energy); etClusEndCap.push_back(et_s); etaClusEndCap.push_back(clus_pos.eta()); thetaClusEndCap.push_back(theta_s); phiClusEndCap.push_back(clus_pos.phi()); s4s9ClusEndCap.push_back(*max_element( s4s9_tmp,s4s9_tmp+4)/e3x3); s9s25ClusEndCap.push_back(e3x3/e5x5); RecHitsClusterEndCap.push_back(RecHitsInWindow); RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5); // std::cout<<" EE Eta cluster (n,nxt,e,et eta,phi,s4s9) "<<nClusEndCap<<" "<<int(RecHitsInWindow.size())<<" "<<eClusEndCap[nClusEndCap]<<" "<<" "<<etClusEndCap[nClusEndCap]<<" "<<etaClusEndCap[nClusEndCap]<<" "<<phiClusEndCap[nClusEndCap]<<" "<<s4s9ClusEndCap[nClusEndCap]<<std::endl; nClusEndCap++; } // Selection, based on Simple clustering //pi0 candidates int npi0_se=0; for(Int_t i=0 ; i<nClusEndCap ; i++){ for(Int_t j=i+1 ; j<nClusEndCap ; j++){ if( etClusEndCap[i]>selePtGammaEtaEndCap_ && etClusEndCap[j]>selePtGammaEtaEndCap_ && s4s9ClusEndCap[i]>seleS4S9GammaEtaEndCap_ && s4s9ClusEndCap[j]>seleS4S9GammaEtaEndCap_){ float p0x = etClusEndCap[i] * cos(phiClusEndCap[i]); float p1x = etClusEndCap[j] * cos(phiClusEndCap[j]); float p0y = etClusEndCap[i] * sin(phiClusEndCap[i]); float p1y = etClusEndCap[j] * sin(phiClusEndCap[j]); float p0z = eClusEndCap[i] * cos(thetaClusEndCap[i]); float p1z = eClusEndCap[j] * cos(thetaClusEndCap[j]); float pt_pair = sqrt( (p0x+p1x)*(p0x+p1x) + (p0y+p1y)*(p0y+p1y)); if (pt_pair < selePtEtaEndCap_)continue; float m_inv = sqrt ( (eClusEndCap[i] + eClusEndCap[j])*(eClusEndCap[i] + eClusEndCap[j]) - (p0x+p1x)*(p0x+p1x) - (p0y+p1y)*(p0y+p1y) - (p0z+p1z)*(p0z+p1z) ); if ( (m_inv<seleMinvMaxEtaEndCap_) && (m_inv>seleMinvMinEtaEndCap_) ){ //New Loop on cluster to measure isolation: vector<int> IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x+p1x), (p0y+p1y), (p0z+p1z)); for(Int_t k=0 ; k<nClusEndCap ; k++){ if(etClusEndCap[k] < ptMinForIsolationEtaEndCap_) continue; if(k==i || k==j)continue; TVector3 clusVect = TVector3(etClusEndCap[k] * cos(phiClusEndCap[k]), etClusEndCap[k] * sin(phiClusEndCap[k]) , eClusEndCap[k] * cos(thetaClusEndCap[k]) ) ; float dretacl = fabs(etaClusEndCap[k] - pairVect.Eta()); float drcl = clusVect.DeltaR(pairVect); if(drcl < seleEtaBeltDREndCap_ && dretacl < seleEtaBeltDetaEndCap_ ){ Iso = Iso + etClusEndCap[k]; IsoClus.push_back(k); } } if(Iso/pt_pair<seleEtaIsoEndCap_){ // cout <<" EE Simple Clustering: Eta Candidate pt, eta, phi, Iso, m_inv, i, j : "<<pt_pair<<" "<<pairVect.Eta()<<" "<<pairVect.Phi()<<" "<<Iso<<" "<<m_inv<<" "<<i<<" "<<j<<" "<<endl; hMinvEtaEE_->Fill(m_inv); hPt1EtaEE_->Fill(etClusEndCap[i]); hPt2EtaEE_->Fill(etClusEndCap[j]); hPtEtaEE_->Fill(pt_pair); hIsoEtaEE_->Fill(Iso/pt_pair); hS4S91EtaEE_->Fill(s4s9ClusEndCap[i]); hS4S92EtaEE_->Fill(s4s9ClusEndCap[j]); npi0_se++; } } } } // End of the "j" loop over Simple Clusters } // End of the "i" loop over Simple Clusters // cout<<" (Simple Clustering) EE Eta candidates #: "<<npi0_se<<endl; } //rhEEeta } //isMonEEeta //================End of Pi0 endcap=======================// }
void DQMSourcePi0::beginJob | ( | void | ) | [protected, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 146 of file DQMSourcePi0.cc.
References DQMStore::book1D(), dbe_, 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_, MonitorElement::setAxisTitle(), and DQMStore::setCurrentFolder().
{ // create and cd into new folder dbe_->setCurrentFolder(folderName_); // book some histograms 1D hiPhiDistrEBpi0_ = dbe_->book1D("iphiDistributionEBpi0", "RechitEB pi0 iphi", 361, 1,361); hiPhiDistrEBpi0_->setAxisTitle("i#phi ", 1); hiPhiDistrEBpi0_->setAxisTitle("# rechits", 2); hiXDistrEEpi0_ = dbe_->book1D("iXDistributionEEpi0", "RechitEE pi0 ix", 100, 0,100); hiXDistrEEpi0_->setAxisTitle("ix ", 1); hiXDistrEEpi0_->setAxisTitle("# rechits", 2); hiPhiDistrEBeta_ = dbe_->book1D("iphiDistributionEBeta", "RechitEB eta iphi", 361, 1,361); hiPhiDistrEBeta_->setAxisTitle("i#phi ", 1); hiPhiDistrEBeta_->setAxisTitle("# rechits", 2); hiXDistrEEeta_ = dbe_->book1D("iXDistributionEEeta", "RechitEE eta ix", 100, 0,100); hiXDistrEEeta_->setAxisTitle("ix ", 1); hiXDistrEEeta_->setAxisTitle("# rechits", 2); hiEtaDistrEBpi0_ = dbe_->book1D("iEtaDistributionEBpi0", "RechitEB pi0 ieta", 171, -85, 86); hiEtaDistrEBpi0_->setAxisTitle("i#eta", 1); hiEtaDistrEBpi0_->setAxisTitle("#rechits", 2); hiYDistrEEpi0_ = dbe_->book1D("iYDistributionEEpi0", "RechitEE pi0 iY", 100, 0, 100); hiYDistrEEpi0_->setAxisTitle("iy", 1); hiYDistrEEpi0_->setAxisTitle("#rechits", 2); hiEtaDistrEBeta_ = dbe_->book1D("iEtaDistributionEBeta", "RechitEB eta ieta", 171, -85, 86); hiEtaDistrEBeta_->setAxisTitle("i#eta", 1); hiEtaDistrEBeta_->setAxisTitle("#rechits", 2); hiYDistrEEeta_ = dbe_->book1D("iYDistributionEEeta", "RechitEE eta iY", 100, 0, 100); hiYDistrEEeta_->setAxisTitle("iy", 1); hiYDistrEEeta_->setAxisTitle("#rechits", 2); hRechitEnergyEBpi0_ = dbe_->book1D("rhEnergyEBpi0","Pi0 rechits energy EB",160,0.,2.0); hRechitEnergyEBpi0_->setAxisTitle("energy (GeV) ",1); hRechitEnergyEBpi0_->setAxisTitle("#rechits",2); hRechitEnergyEEpi0_ = dbe_->book1D("rhEnergyEEpi0","Pi0 rechits energy EE",160,0.,3.0); hRechitEnergyEEpi0_->setAxisTitle("energy (GeV) ",1); hRechitEnergyEEpi0_->setAxisTitle("#rechits",2); hRechitEnergyEBeta_ = dbe_->book1D("rhEnergyEBeta","Eta rechits energy EB",160,0.,2.0); hRechitEnergyEBeta_->setAxisTitle("energy (GeV) ",1); hRechitEnergyEBeta_->setAxisTitle("#rechits",2); hRechitEnergyEEeta_ = dbe_->book1D("rhEnergyEEeta","Eta rechits energy EE",160,0.,3.0); hRechitEnergyEEeta_->setAxisTitle("energy (GeV) ",1); hRechitEnergyEEeta_->setAxisTitle("#rechits",2); hEventEnergyEBpi0_ = dbe_->book1D("eventEnergyEBpi0","Pi0 event energy EB",100,0.,20.0); hEventEnergyEBpi0_->setAxisTitle("energy (GeV) ",1); hEventEnergyEEpi0_ = dbe_->book1D("eventEnergyEEpi0","Pi0 event energy EE",100,0.,50.0); hEventEnergyEEpi0_->setAxisTitle("energy (GeV) ",1); hEventEnergyEBeta_ = dbe_->book1D("eventEnergyEBeta","Eta event energy EB",100,0.,20.0); hEventEnergyEBeta_->setAxisTitle("energy (GeV) ",1); hEventEnergyEEeta_ = dbe_->book1D("eventEnergyEEeta","Eta event energy EE",100,0.,50.0); hEventEnergyEEeta_->setAxisTitle("energy (GeV) ",1); hNRecHitsEBpi0_ = dbe_->book1D("nRechitsEBpi0","#rechits in pi0 collection EB",100,0.,250.); hNRecHitsEBpi0_->setAxisTitle("rechits ",1); hNRecHitsEEpi0_ = dbe_->book1D("nRechitsEEpi0","#rechits in pi0 collection EE",100,0.,250.); hNRecHitsEEpi0_->setAxisTitle("rechits ",1); hNRecHitsEBeta_ = dbe_->book1D("nRechitsEBeta","#rechits in eta collection EB",100,0.,250.); hNRecHitsEBeta_->setAxisTitle("rechits ",1); hNRecHitsEEeta_ = dbe_->book1D("nRechitsEEeta","#rechits in eta collection EE",100,0.,250.); hNRecHitsEEeta_->setAxisTitle("rechits ",1); hMeanRecHitEnergyEBpi0_ = dbe_->book1D("meanEnergyEBpi0","Mean rechit energy in pi0 collection EB",50,0.,2.); hMeanRecHitEnergyEBpi0_->setAxisTitle("Mean Energy [GeV] ",1); hMeanRecHitEnergyEEpi0_ = dbe_->book1D("meanEnergyEEpi0","Mean rechit energy in pi0 collection EE",100,0.,5.); hMeanRecHitEnergyEEpi0_->setAxisTitle("Mean Energy [GeV] ",1); hMeanRecHitEnergyEBeta_ = dbe_->book1D("meanEnergyEBeta","Mean rechit energy in eta collection EB",50,0.,2.); hMeanRecHitEnergyEBeta_->setAxisTitle("Mean Energy [GeV] ",1); hMeanRecHitEnergyEEeta_ = dbe_->book1D("meanEnergyEEeta","Mean rechit energy in eta collection EE",100,0.,5.); hMeanRecHitEnergyEEeta_->setAxisTitle("Mean Energy [GeV] ",1); hMinvPi0EB_ = dbe_->book1D("Pi0InvmassEB","Pi0 Invariant Mass in EB",100,0.,0.5); hMinvPi0EB_->setAxisTitle("Inv Mass [GeV] ",1); hMinvPi0EE_ = dbe_->book1D("Pi0InvmassEE","Pi0 Invariant Mass in EE",100,0.,0.5); hMinvPi0EE_->setAxisTitle("Inv Mass [GeV] ",1); hMinvEtaEB_ = dbe_->book1D("EtaInvmassEB","Eta Invariant Mass in EB",100,0.,0.85); hMinvEtaEB_->setAxisTitle("Inv Mass [GeV] ",1); hMinvEtaEE_ = dbe_->book1D("EtaInvmassEE","Eta Invariant Mass in EE",100,0.,0.85); hMinvEtaEE_->setAxisTitle("Inv Mass [GeV] ",1); hPt1Pi0EB_ = dbe_->book1D("Pt1Pi0EB","Pt 1st most energetic Pi0 photon in EB",100,0.,20.); hPt1Pi0EB_->setAxisTitle("1st photon Pt [GeV] ",1); hPt1Pi0EE_ = dbe_->book1D("Pt1Pi0EE","Pt 1st most energetic Pi0 photon in EE",100,0.,20.); hPt1Pi0EE_->setAxisTitle("1st photon Pt [GeV] ",1); hPt1EtaEB_ = dbe_->book1D("Pt1EtaEB","Pt 1st most energetic Eta photon in EB",100,0.,20.); hPt1EtaEB_->setAxisTitle("1st photon Pt [GeV] ",1); hPt1EtaEE_ = dbe_->book1D("Pt1EtaEE","Pt 1st most energetic Eta photon in EE",100,0.,20.); hPt1EtaEE_->setAxisTitle("1st photon Pt [GeV] ",1); hPt2Pi0EB_ = dbe_->book1D("Pt2Pi0EB","Pt 2nd most energetic Pi0 photon in EB",100,0.,20.); hPt2Pi0EB_->setAxisTitle("2nd photon Pt [GeV] ",1); hPt2Pi0EE_ = dbe_->book1D("Pt2Pi0EE","Pt 2nd most energetic Pi0 photon in EE",100,0.,20.); hPt2Pi0EE_->setAxisTitle("2nd photon Pt [GeV] ",1); hPt2EtaEB_ = dbe_->book1D("Pt2EtaEB","Pt 2nd most energetic Eta photon in EB",100,0.,20.); hPt2EtaEB_->setAxisTitle("2nd photon Pt [GeV] ",1); hPt2EtaEE_ = dbe_->book1D("Pt2EtaEE","Pt 2nd most energetic Eta photon in EE",100,0.,20.); hPt2EtaEE_->setAxisTitle("2nd photon Pt [GeV] ",1); hPtPi0EB_ = dbe_->book1D("PtPi0EB","Pi0 Pt in EB",100,0.,20.); hPtPi0EB_->setAxisTitle("Pi0 Pt [GeV] ",1); hPtPi0EE_ = dbe_->book1D("PtPi0EE","Pi0 Pt in EE",100,0.,20.); hPtPi0EE_->setAxisTitle("Pi0 Pt [GeV] ",1); hPtEtaEB_ = dbe_->book1D("PtEtaEB","Eta Pt in EB",100,0.,20.); hPtEtaEB_->setAxisTitle("Eta Pt [GeV] ",1); hPtEtaEE_ = dbe_->book1D("PtEtaEE","Eta Pt in EE",100,0.,20.); hPtEtaEE_->setAxisTitle("Eta Pt [GeV] ",1); hIsoPi0EB_ = dbe_->book1D("IsoPi0EB","Pi0 Iso in EB",50,0.,1.); hIsoPi0EB_->setAxisTitle("Pi0 Iso",1); hIsoPi0EE_ = dbe_->book1D("IsoPi0EE","Pi0 Iso in EE",50,0.,1.); hIsoPi0EE_->setAxisTitle("Pi0 Iso",1); hIsoEtaEB_ = dbe_->book1D("IsoEtaEB","Eta Iso in EB",50,0.,1.); hIsoEtaEB_->setAxisTitle("Eta Iso",1); hIsoEtaEE_ = dbe_->book1D("IsoEtaEE","Eta Iso in EE",50,0.,1.); hIsoEtaEE_->setAxisTitle("Eta Iso",1); hS4S91Pi0EB_ = dbe_->book1D("S4S91Pi0EB","S4S9 1st most energetic Pi0 photon in EB",50,0.,1.); hS4S91Pi0EB_->setAxisTitle("S4S9 of the 1st Pi0 Photon ",1); hS4S91Pi0EE_ = dbe_->book1D("S4S91Pi0EE","S4S9 1st most energetic Pi0 photon in EE",50,0.,1.); hS4S91Pi0EE_->setAxisTitle("S4S9 of the 1st Pi0 Photon ",1); hS4S91EtaEB_ = dbe_->book1D("S4S91EtaEB","S4S9 1st most energetic Eta photon in EB",50,0.,1.); hS4S91EtaEB_->setAxisTitle("S4S9 of the 1st Eta Photon ",1); hS4S91EtaEE_ = dbe_->book1D("S4S91EtaEE","S4S9 1st most energetic Eta photon in EE",50,0.,1.); hS4S91EtaEE_->setAxisTitle("S4S9 of the 1st Eta Photon ",1); hS4S92Pi0EB_ = dbe_->book1D("S4S92Pi0EB","S4S9 2nd most energetic Pi0 photon in EB",50,0.,1.); hS4S92Pi0EB_->setAxisTitle("S4S9 of the 2nd Pi0 Photon",1); hS4S92Pi0EE_ = dbe_->book1D("S4S92Pi0EE","S4S9 2nd most energetic Pi0 photon in EE",50,0.,1.); hS4S92Pi0EE_->setAxisTitle("S4S9 of the 2nd Pi0 Photon",1); hS4S92EtaEB_ = dbe_->book1D("S4S92EtaEB","S4S9 2nd most energetic Pi0 photon in EB",50,0.,1.); hS4S92EtaEB_->setAxisTitle("S4S9 of the 2nd Eta Photon",1); hS4S92EtaEE_ = dbe_->book1D("S4S92EtaEE","S4S9 2nd most energetic Pi0 photon in EE",50,0.,1.); hS4S92EtaEE_->setAxisTitle("S4S9 of the 2nd Eta Photon",1); }
void DQMSourcePi0::beginLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | context | ||
) | [protected, virtual] |
void DQMSourcePi0::beginRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
void DQMSourcePi0::convxtalid | ( | int & | , |
int & | |||
) | [protected] |
Referenced by analyze().
int DQMSourcePi0::diff_neta_s | ( | int | , |
int | |||
) | [protected] |
Referenced by analyze().
int DQMSourcePi0::diff_nphi_s | ( | int | , |
int | |||
) | [protected] |
Referenced by analyze().
void DQMSourcePi0::endJob | ( | void | ) | [protected, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 1523 of file DQMSourcePi0.cc.
References dbe_, fileName_, DQMStore::save(), and saveToFile_.
{ if(dbe_) { if (saveToFile_) { dbe_->save(fileName_); } } }
void DQMSourcePi0::endLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
void DQMSourcePi0::endRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
int DQMSourcePi0::clusEtaSize_ [private] |
Definition at line 256 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
int DQMSourcePi0::clusPhiSize_ [private] |
Definition at line 257 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::clusSeedThr_ [private] |
Definition at line 255 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::clusSeedThrEndCap_ [private] |
Definition at line 259 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
DQMStore* DQMSourcePi0::dbe_ [private] |
Definition at line 76 of file DQMSourcePi0.h.
Referenced by beginJob(), DQMSourcePi0(), and endJob().
std::vector<EBDetId> DQMSourcePi0::detIdEBRecHits [private] |
Definition at line 317 of file DQMSourcePi0.h.
Referenced by analyze().
std::vector<EEDetId> DQMSourcePi0::detIdEERecHits [private] |
Definition at line 321 of file DQMSourcePi0.h.
Referenced by analyze().
std::vector<EcalRecHit> DQMSourcePi0::EBRecHits [private] |
Definition at line 318 of file DQMSourcePi0.h.
Referenced by analyze().
std::vector<EcalRecHit> DQMSourcePi0::EERecHits [private] |
Definition at line 322 of file DQMSourcePi0.h.
Referenced by analyze().
int DQMSourcePi0::eventCounter_ [private] |
Definition at line 77 of file DQMSourcePi0.h.
Referenced by analyze().
std::string DQMSourcePi0::fileName_ [private] |
Output file name if required.
Definition at line 342 of file DQMSourcePi0.h.
Referenced by DQMSourcePi0(), and endJob().
std::string DQMSourcePi0::folderName_ [private] |
DQM folder name.
Definition at line 330 of file DQMSourcePi0.h.
Referenced by beginJob(), and DQMSourcePi0().
int DQMSourcePi0::gammaCandEtaSize_ [private] |
Definition at line 249 of file DQMSourcePi0.h.
int DQMSourcePi0::gammaCandPhiSize_ [private] |
Definition at line 250 of file DQMSourcePi0.h.
MonitorElement* DQMSourcePi0::hEventEnergyEBeta_ [private] |
Distribution of total event energy EB (eta)
Definition at line 123 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hEventEnergyEBpi0_ [private] |
Distribution of total event energy EB (pi0)
Definition at line 117 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hEventEnergyEEeta_ [private] |
Distribution of total event energy EE (eta)
Definition at line 126 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hEventEnergyEEpi0_ [private] |
Distribution of total event energy EE (pi0)
Definition at line 120 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiEtaDistrEBeta_ [private] |
Distribution of rechits in iEta (eta)
Definition at line 99 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiEtaDistrEBpi0_ [private] |
Distribution of rechits in iEta (pi0)
Definition at line 93 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiPhiDistrEBeta_ [private] |
Distribution of rechits in iPhi (eta)
Definition at line 87 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiPhiDistrEBpi0_ [private] |
Distribution of rechits in iPhi (pi0)
Definition at line 81 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hIsoEtaEB_ [private] |
MonitorElement* DQMSourcePi0::hIsoEtaEE_ [private] |
MonitorElement* DQMSourcePi0::hIsoPi0EB_ [private] |
MonitorElement* DQMSourcePi0::hIsoPi0EE_ [private] |
MonitorElement* DQMSourcePi0::hiXDistrEEeta_ [private] |
Distribution of rechits in ix EE (eta)
Definition at line 90 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiXDistrEEpi0_ [private] |
Distribution of rechits in ix EE (pi0)
Definition at line 84 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiYDistrEEeta_ [private] |
Distribution of rechits in iy EE (eta)
Definition at line 102 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hiYDistrEEpi0_ [private] |
Distribution of rechits in iy EE (pi0)
Definition at line 96 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
Distribution of Mean energy per rechit EB (eta)
Definition at line 147 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
Distribution of Mean energy per rechit EB (pi0)
Definition at line 141 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
Distribution of Mean energy per rechit EE (eta)
Definition at line 150 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
Distribution of Mean energy per rechit EE (pi0)
Definition at line 144 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hMinvEtaEB_ [private] |
Eta invariant mass in EB.
Definition at line 159 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hMinvEtaEE_ [private] |
Eta invariant mass in EE.
Definition at line 162 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hMinvPi0EB_ [private] |
Pi0 invariant mass in EB.
Definition at line 153 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hMinvPi0EE_ [private] |
Pi0 invariant mass in EE.
Definition at line 156 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hNRecHitsEBeta_ [private] |
Distribution of number of RecHits EB (eta)
Definition at line 135 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hNRecHitsEBpi0_ [private] |
Distribution of number of RecHits EB (pi0)
Definition at line 129 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hNRecHitsEEeta_ [private] |
Distribution of number of RecHits EE (eta)
Definition at line 138 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hNRecHitsEEpi0_ [private] |
Distribution of number of RecHits EE (pi0)
Definition at line 132 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt1EtaEB_ [private] |
Pt of the 1st most energetic Eta photon in EB.
Definition at line 171 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt1EtaEE_ [private] |
Pt of the 1st most energetic Eta photon in EE.
Definition at line 174 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt1Pi0EB_ [private] |
Pt of the 1st most energetic Pi0 photon in EB.
Definition at line 165 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt1Pi0EE_ [private] |
Pt of the 1st most energetic Pi0 photon in EE.
Definition at line 168 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt2EtaEB_ [private] |
Pt of the 2nd most energetic Eta photon in EB.
Definition at line 184 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt2EtaEE_ [private] |
Pt of the 2nd most energetic Eta photon in EE.
Definition at line 187 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt2Pi0EB_ [private] |
Pt of the 2nd most energetic Pi0 photon in EB.
Definition at line 178 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPt2Pi0EE_ [private] |
Pt of the 2nd most energetic Pi0 photon in EE.
Definition at line 181 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPtEtaEB_ [private] |
Eta Pt in EB.
Definition at line 197 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPtEtaEE_ [private] |
Eta Pt in EE.
Definition at line 200 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPtPi0EB_ [private] |
Pi0 Pt in EB.
Definition at line 191 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hPtPi0EE_ [private] |
Pi0 Pt in EE.
Definition at line 194 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hRechitEnergyEBeta_ [private] |
Energy Distribution of rechits EB (eta)
Definition at line 111 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hRechitEnergyEBpi0_ [private] |
Energy Distribution of rechits EB (pi0)
Definition at line 105 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hRechitEnergyEEeta_ [private] |
Energy Distribution of rechits EE (eta)
Definition at line 114 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hRechitEnergyEEpi0_ [private] |
Energy Distribution of rechits EE (pi0)
Definition at line 108 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S91EtaEB_ [private] |
S4S9 of the 1st most energetic eta photon.
Definition at line 221 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S91EtaEE_ [private] |
S4S9 of the 1st most energetic eta photon EE.
Definition at line 224 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S91Pi0EB_ [private] |
S4S9 of the 1st most energetic pi0 photon.
Definition at line 215 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S91Pi0EE_ [private] |
S4S9 of the 1st most energetic pi0 photon EE.
Definition at line 218 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S92EtaEB_ [private] |
S4S9 of the 2nd most energetic eta photon.
Definition at line 233 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S92EtaEE_ [private] |
S4S9 of the 2nd most energetic eta photon EE.
Definition at line 236 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S92Pi0EB_ [private] |
S4S9 of the 2nd most energetic pi0 photon.
Definition at line 227 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
MonitorElement* DQMSourcePi0::hS4S92Pi0EE_ [private] |
S4S9 of the 2nd most energetic pi0 photon EE.
Definition at line 230 of file DQMSourcePi0.h.
Referenced by analyze(), and beginJob().
bool DQMSourcePi0::isMonEBeta_ [private] |
Definition at line 337 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
bool DQMSourcePi0::isMonEBpi0_ [private] |
which subdet will be monitored
Definition at line 336 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
bool DQMSourcePi0::isMonEEeta_ [private] |
Definition at line 339 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
bool DQMSourcePi0::isMonEEpi0_ [private] |
Definition at line 338 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
bool DQMSourcePi0::ParameterLogWeighted_ [private] |
Definition at line 308 of file DQMSourcePi0.h.
double DQMSourcePi0::ParameterT0_barl_ [private] |
Definition at line 310 of file DQMSourcePi0.h.
double DQMSourcePi0::ParameterT0_endc_ [private] |
Definition at line 311 of file DQMSourcePi0.h.
double DQMSourcePi0::ParameterT0_endcPresh_ [private] |
Definition at line 312 of file DQMSourcePi0.h.
double DQMSourcePi0::ParameterW0_ [private] |
Definition at line 313 of file DQMSourcePi0.h.
double DQMSourcePi0::ParameterX0_ [private] |
Definition at line 309 of file DQMSourcePi0.h.
PositionCalc DQMSourcePi0::posCalculator_ [private] |
Definition at line 78 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
unsigned int DQMSourcePi0::prescaleFactor_ [private] |
Monitor every prescaleFactor_ events.
Definition at line 327 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
Definition at line 243 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
object to monitor
Definition at line 242 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
Definition at line 247 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
object to monitor
Definition at line 246 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::ptMinForIsolation_ [private] |
Definition at line 270 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::ptMinForIsolationEndCap_ [private] |
Definition at line 281 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::ptMinForIsolationEta_ [private] |
Definition at line 290 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::ptMinForIsolationEtaEndCap_ [private] |
Definition at line 302 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
bool DQMSourcePi0::saveToFile_ [private] |
Write to file.
Definition at line 333 of file DQMSourcePi0.h.
Referenced by DQMSourcePi0(), and endJob().
double DQMSourcePi0::seleEtaBeltDeta_ [private] |
Definition at line 293 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleEtaBeltDetaEndCap_ [private] |
Definition at line 305 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleEtaBeltDR_ [private] |
Definition at line 292 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleEtaBeltDREndCap_ [private] |
Definition at line 304 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleEtaIso_ [private] |
Definition at line 291 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleEtaIsoEndCap_ [private] |
Definition at line 303 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMaxEta_ [private] |
Definition at line 288 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMaxEtaEndCap_ [private] |
Definition at line 300 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMaxPi0_ [private] |
Definition at line 264 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMaxPi0EndCap_ [private] |
Definition at line 275 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMinEta_ [private] |
Definition at line 289 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMinEtaEndCap_ [private] |
Definition at line 301 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMinPi0_ [private] |
Definition at line 265 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleMinvMinPi0EndCap_ [private] |
Definition at line 276 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0BeltDeta_ [private] |
Definition at line 268 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0BeltDetaEndCap_ [private] |
Definition at line 280 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0BeltDR_ [private] |
Definition at line 267 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0BeltDREndCap_ [private] |
Definition at line 279 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0Iso_ [private] |
Definition at line 269 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePi0IsoEndCap_ [private] |
Definition at line 278 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtEta_ [private] |
Definition at line 285 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtEtaEndCap_ [private] |
Definition at line 299 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtGamma_ [private] |
Definition at line 262 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtGammaEndCap_ [private] |
for pi0->gg endcap
Definition at line 273 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtGammaEta_ [private] |
for eta->gg barrel
Definition at line 284 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtGammaEtaEndCap_ [private] |
for eta->gg endcap
Definition at line 296 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtPi0_ [private] |
Definition at line 263 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::selePtPi0EndCap_ [private] |
Definition at line 274 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleS4S9Gamma_ [private] |
Definition at line 266 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleS4S9GammaEndCap_ [private] |
Definition at line 277 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleS4S9GammaEta_ [private] |
Definition at line 286 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleS4S9GammaEtaEndCap_ [private] |
Definition at line 297 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleS9S25GammaEta_ [private] |
Definition at line 287 of file DQMSourcePi0.h.
Referenced by DQMSourcePi0().
double DQMSourcePi0::seleS9S25GammaEtaEndCap_ [private] |
Definition at line 298 of file DQMSourcePi0.h.
Referenced by DQMSourcePi0().
double DQMSourcePi0::seleXtalMinEnergy_ [private] |
Definition at line 252 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().
double DQMSourcePi0::seleXtalMinEnergyEndCap_ [private] |
Definition at line 253 of file DQMSourcePi0.h.
Referenced by analyze(), and DQMSourcePi0().