CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
ElectronStudy Class Reference
Inheritance diagram for ElectronStudy:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 ElectronStudy (const edm::ParameterSet &ps)
 
 ~ElectronStudy () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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
 
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)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginJob () override
 

Private Attributes

double etaBins_ [NEtaBins_+1]
 
TH1F * histoE1x1 [NPBins_+1][NEtaBins_+1]
 
TH1F * histoE3x3 [NPBins_+1][NEtaBins_+1]
 
TH1F * histoE5x5 [NPBins_+1][NEtaBins_+1]
 
TH1F * histoR1 [NPBins_+1][NEtaBins_+1]
 
TH1F * histoR2 [NPBins_+1][NEtaBins_+1]
 
TH1F * histoR3 [NPBins_+1][NEtaBins_+1]
 
bool histos_
 
int hotZone_
 
double pBins_ [NPBins_+1]
 
edm::EDGetTokenT< edm::PCaloHitContainertok_EBhit_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_EEhit_
 
edm::EDGetTokenT< edm::SimTrackContainertok_simTk_
 
edm::EDGetTokenT< edm::SimVertexContainertok_simVtx_
 
int verbose_
 

Static Private Attributes

static const int NEtaBins_ = 3
 
static const int NPBins_ = 8
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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 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)
 

Detailed Description

Definition at line 39 of file ElectronStudy.cc.

Constructor & Destructor Documentation

ElectronStudy::ElectronStudy ( const edm::ParameterSet ps)
explicit

Definition at line 72 of file ElectronStudy.cc.

References etaBins_, edm::ParameterSet::getUntrackedParameter(), histoE1x1, histoE3x3, histoE5x5, histoR1, histoR2, histoR3, histos_, hotZone_, mps_fire::i, edm::Service< T >::isAvailable(), TFileService::make(), dataset::name, NEtaBins_, NPBins_, pBins_, AlCaHLTBitMon_QueryRunRegistry::string, compare::tfile, fftjetcommon_cfi::title, tok_EBhit_, tok_EEhit_, tok_simTk_, tok_simVtx_, and verbose_.

72  {
73 
74  usesResource("TFileService");
75 
76  std::string g4Label = ps.getUntrackedParameter<std::string>("ModuleLabel","g4SimHits");
77  std::string hitLabEB= ps.getUntrackedParameter<std::string>("EBCollection","EcalHitsEB");
78  std::string hitLabEE= ps.getUntrackedParameter<std::string>("EECollection","EcalHitsEE");
79 
80 
81  tok_EBhit_ = consumes<edm::PCaloHitContainer>(edm::InputTag(g4Label,hitLabEB));
82  tok_EEhit_ = consumes<edm::PCaloHitContainer>(edm::InputTag(g4Label,hitLabEE));
83  tok_simTk_ = consumes<edm::SimTrackContainer>(edm::InputTag(g4Label));
84  tok_simVtx_ = consumes<edm::SimVertexContainer>(edm::InputTag(g4Label));
85 
86  hotZone_ = ps.getUntrackedParameter<int>("HotZone",0);
87  verbose_ = ps.getUntrackedParameter<int>("Verbosity",0);
88  edm::LogInfo("ElectronStudy") << "Module Label: " << g4Label << " Hits: "
89  << hitLabEB << ", " << hitLabEE;
90 
91  double tempP[NPBins_+1] = { 0.0, 10.0, 20.0, 40.0, 60.0,
92  100.0, 500.0, 1000.0, 10000.0};
93  double tempEta[NEtaBins_+1] = {0.0, 1.2, 1.6, 3.0};
94 
95  for (int i=0; i<NPBins_+1; i++) pBins_[i] = tempP[i];
96  for(int i=0; i<NEtaBins_+1; i++) etaBins_[i] = tempEta[i];
97 
99  if ( !tfile.isAvailable() ) {
100  edm::LogInfo("ElectronStudy") << "TFileService unavailable: no histograms";
101  histos_ = false;
102  } else {
103  char name[20], title[200], cpbin[30], cebin[30];
104  histos_ = true;
105  for (unsigned int i=0; i<NPBins_+1; ++i) {
106  if (i == 0) sprintf (cpbin, " All p");
107  else sprintf (cpbin, " p (%6.0f:%6.0f)", pBins_[i-1], pBins_[i]);
108  for (unsigned int j=0; j<NEtaBins_+1; ++j) {
109  if (j == 0) sprintf (cebin, " All #eta");
110  else sprintf (cebin, " #eta (%4.1f:%4.1f)", etaBins_[j-1], etaBins_[j]);
111  sprintf (name, "R1%d%d", i, j);
112  sprintf (title,"E1/E9 for %s%s", cpbin, cebin);
113  histoR1[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
114  histoR1[i][j]->GetXaxis()->SetTitle(title);
115  histoR1[i][j]->GetYaxis()->SetTitle("Tracks");
116  sprintf (name, "R2%d%d", i, j);
117  sprintf (title,"E1/E25 for %s%s", cpbin, cebin);
118  histoR2[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
119  histoR2[i][j]->GetXaxis()->SetTitle(title);
120  histoR2[i][j]->GetYaxis()->SetTitle("Tracks");
121  sprintf (name, "R3%d%d", i, j);
122  sprintf (title,"E9/E25 for %s%s", cpbin, cebin);
123  histoR3[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
124  histoR3[i][j]->GetXaxis()->SetTitle(title);
125  histoR3[i][j]->GetYaxis()->SetTitle("Tracks");
126  sprintf (name, "E1x1%d%d", i, j);
127  sprintf (title,"E1/P for %s%s", cpbin, cebin);
128  histoE1x1[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
129  histoE1x1[i][j]->GetXaxis()->SetTitle(title);
130  histoE1x1[i][j]->GetYaxis()->SetTitle("Tracks");
131  sprintf (name, "E3x3%d%d", i, j);
132  sprintf (title,"E9/P for %s%s", cpbin, cebin);
133  histoE3x3[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
134  histoE3x3[i][j]->GetXaxis()->SetTitle(title);
135  histoE3x3[i][j]->GetYaxis()->SetTitle("Tracks");
136  sprintf (name, "E5x5%d%d", i, j);
137  sprintf (title,"E25/P for %s%s", cpbin, cebin);
138  histoE5x5[i][j] = tfile->make<TH1F>(name, title, 100, 0., 2.);
139  histoE5x5[i][j]->GetXaxis()->SetTitle(title);
140  histoE5x5[i][j]->GetYaxis()->SetTitle("Tracks");
141  }
142  }
143  }
144 }
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
TH1F * histoR3[NPBins_+1][NEtaBins_+1]
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
static const int NEtaBins_
TH1F * histoE3x3[NPBins_+1][NEtaBins_+1]
TH1F * histoR2[NPBins_+1][NEtaBins_+1]
bool isAvailable() const
Definition: Service.h:46
double etaBins_[NEtaBins_+1]
TH1F * histoE1x1[NPBins_+1][NEtaBins_+1]
edm::EDGetTokenT< edm::PCaloHitContainer > tok_EBhit_
TH1F * histoE5x5[NPBins_+1][NEtaBins_+1]
edm::EDGetTokenT< edm::PCaloHitContainer > tok_EEhit_
static const int NPBins_
TH1F * histoR1[NPBins_+1][NEtaBins_+1]
double pBins_[NPBins_+1]
ElectronStudy::~ElectronStudy ( )
inlineoverride

Definition at line 44 of file ElectronStudy.cc.

References analyze(), and fillDescriptions().

44 {}

Member Function Documentation

void ElectronStudy::analyze ( edm::Event const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 156 of file ElectronStudy.cc.

References funct::abs(), ecalTB2006H4_GenSimDigiReco_cfg::bField, TauDecayModes::dec, DEFINE_FWK_MODULE, spr::propagatedTrackDirection::detIdECAL, heepElectronID_HEEPV50_CSA14_25ns_cff::e5x5, EcalBarrel, EcalEndcap, spr::eECALmatrix(), PVValHelper::eta, conversionPostprocessing_cfi::etaBin, etaBins_, edm::EventID::event(), edm::EventSetup::get(), edm::Event::getByToken(), histoE1x1, histoE3x3, histoE5x5, histoR1, histoR2, histoR3, histos_, spr::hotCrystal(), hotZone_, edm::EventBase::id(), edm::HandleBase::isValid(), NEtaBins_, NPBins_, spr::propagatedTrackDirection::okECAL, AlCaHLTBitMon_ParallelJobs::p, pBins_, edm::ESHandle< T >::product(), spr::propagateCALO(), diffTwoXMLs::r1, diffTwoXMLs::r2, edm::EventID::run(), DetId::subdetId(), tok_EBhit_, tok_EEhit_, tok_simTk_, tok_simVtx_, and verbose_.

Referenced by ~ElectronStudy().

156  {
157 
158  if (verbose_ > 1)
159  edm::LogVerbatim("IsoTrack") << "Run = " << iEvent.id().run()
160  << " Event = " << iEvent.id().event();
161 
162  // get Geometry, B-field, Topology
164  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
165  const MagneticField* bField = bFieldH.product();
166 
168  iSetup.get<CaloGeometryRecord>().get(pG);
169  const CaloGeometry* geo = pG.product();
170 
171  edm::ESHandle<CaloTopology> theCaloTopology;
172  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
173  const CaloTopology* caloTopology = theCaloTopology.product();
174 
175  // get PCaloHits for ecal barrel
177  iEvent.getByToken(tok_EBhit_,caloHitEB);
178 
179  // get PCaloHits for ecal endcap
181  iEvent.getByToken(tok_EEhit_,caloHitEE);
182 
183  // get sim tracks
185  iEvent.getByToken(tok_simTk_, SimTk);
186 
187  // get sim vertices
189  iEvent.getByToken(tok_simVtx_, SimVtx);
190 
191  if (verbose_>0)
192  edm::LogVerbatim("IsoTrack") << "ElectronStudy: hits valid[EB]: "
193  << caloHitEB.isValid() << " valid[EE]: "
194  << caloHitEE.isValid();
195 
196  if (caloHitEB.isValid() && caloHitEE.isValid()) {
197  unsigned int indx;
198  if (verbose_>2) {
199  edm::PCaloHitContainer::const_iterator ihit;
200  for (ihit=caloHitEB->begin(),indx=0; ihit!=caloHitEB->end();
201  ihit++, indx++) {
202  EBDetId id = ihit->id();
203  edm::LogVerbatim("IsoTrack") << "Hit[" << indx << "] " << id << " E "
204  << ihit->energy() << " T " << ihit->time();
205  }
206  for (ihit=caloHitEE->begin(),indx=0; ihit!=caloHitEE->end();
207  ihit++,indx++) {
208  EEDetId id = ihit->id();
209  edm::LogVerbatim("IsoTrack") << "Hit[" << indx << "] " << id << " E "
210  << ihit->energy() << " T " << ihit->time();
211  }
212  }
213  edm::SimTrackContainer::const_iterator simTrkItr=SimTk->begin();
214  for (indx=0; simTrkItr!= SimTk->end(); simTrkItr++,indx++) {
215  if (verbose_>0)
216  edm::LogVerbatim("IsoTrack") << "ElectronStudy: Track[" << indx
217  << "] ID " << simTrkItr->trackId()
218  << " type " << simTrkItr->type()
219  << " charge " << simTrkItr->charge()
220  << " p " << simTrkItr->momentum()
221  << " Generator Index "
222  << simTrkItr->genpartIndex() << " vertex "
223  << simTrkItr->vertIndex();
224  if (std::abs(simTrkItr->type()) == 11 && simTrkItr->vertIndex() != -1) {
225  int thisTrk = simTrkItr->trackId();
226  spr::propagatedTrackDirection trkD = spr::propagateCALO(thisTrk, SimTk, SimVtx, geo, bField, (verbose_>1));
227  if (trkD.okECAL) {
228  const DetId isoCell = trkD.detIdECAL;
229  DetId hotCell = isoCell;
230  if (hotZone_ > 0) hotCell = spr::hotCrystal(isoCell, caloHitEB, caloHitEE, geo, caloTopology, hotZone_, hotZone_, -500.0, 500.0, (verbose_>1));
231  double e1x1 = spr::eECALmatrix(hotCell, caloHitEB, caloHitEE, geo, caloTopology, 0, 0, -100.0, -100.0,-500.0, 500.0, (verbose_>2));
232  double e3x3 = spr::eECALmatrix(hotCell, caloHitEB, caloHitEE, geo, caloTopology, 1, 1, -100.0, -100.0,-500.0, 500.0, (verbose_>2));
233  double e5x5 = spr::eECALmatrix(hotCell, caloHitEB, caloHitEE, geo, caloTopology, 2, 2, -100.0, -100.0,-500.0, 500.0, (verbose_>2));
234  double p = simTrkItr->momentum().P();
235  double eta = std::abs(simTrkItr->momentum().eta());
236  int etaBin=-1, momBin=-1;
237  for (int ieta=0; ieta<NEtaBins_; ieta++) {
238  if (eta>etaBins_[ieta] && eta<etaBins_[ieta+1] ) etaBin = ieta+1;
239  }
240  for (int ipt=0; ipt<NPBins_; ipt++) {
241  if (p>pBins_[ipt] && p<pBins_[ipt+1] ) momBin = ipt+1;
242  }
243  double r1=-1, r2=-1, r3=-1;
244  if (e3x3 > 0) r1 = e1x1/e3x3;
245  if (e5x5 > 0) {r2 = e1x1/e5x5; r3 = e3x3/e5x5;}
246  if (verbose_>0) {
247  edm::LogVerbatim("IsoTrack") << "ElectronStudy: p " << p << " ["
248  << momBin << "] eta " << eta << " ["
249  << etaBin << "] Cell 0x" << std::hex
250  << isoCell() << std::dec;
251  if (isoCell.subdetId() == EcalBarrel) {
252  edm::LogVerbatim("IsoTrack") << EBDetId(isoCell);
253  } else if (isoCell.subdetId() == EcalEndcap) {
254  edm::LogVerbatim("IsoTrack") << EEDetId(isoCell);
255  }
256  edm::LogVerbatim("IsoTrack") << " e1x1 " << e1x1 << "|" << r1
257  << "|" << r2 << " e3x3 " << e3x3
258  << "|" << r3 << " e5x5 " << e5x5;
259  }
260  if (histos_) {
261  histoR1[0][0]->Fill(r1);
262  histoR2[0][0]->Fill(r2);
263  histoR3[0][0]->Fill(r3);
264  histoE1x1[0][0]->Fill(e1x1/p);
265  histoE3x3[0][0]->Fill(e3x3/p);
266  histoE5x5[0][0]->Fill(e5x5/p);
267  if (momBin>0) {
268  histoR1[momBin][0]->Fill(r1);
269  histoR2[momBin][0]->Fill(r2);
270  histoR3[momBin][0]->Fill(r3);
271  histoE1x1[momBin][0]->Fill(e1x1/p);
272  histoE3x3[momBin][0]->Fill(e3x3/p);
273  histoE5x5[momBin][0]->Fill(e5x5/p);
274  }
275  if (etaBin>0) {
276  histoR1[0][etaBin]->Fill(r1);
277  histoR2[0][etaBin]->Fill(r2);
278  histoR3[0][etaBin]->Fill(r3);
279  histoE1x1[0][etaBin]->Fill(e1x1/p);
280  histoE3x3[0][etaBin]->Fill(e3x3/p);
281  histoE5x5[0][etaBin]->Fill(e5x5/p);
282  if (momBin>0) {
283  histoR1[momBin][etaBin]->Fill(r1);
284  histoR2[momBin][etaBin]->Fill(r2);
285  histoR3[momBin][etaBin]->Fill(r3);
286  histoE1x1[momBin][etaBin]->Fill(e1x1/p);
287  histoE3x3[momBin][etaBin]->Fill(e3x3/p);
288  histoE5x5[momBin][etaBin]->Fill(e5x5/p);
289  }
290  }
291  }
292  }
293  }
294  }
295  }
296 
297 }
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
TH1F * histoR3[NPBins_+1][NEtaBins_+1]
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
static const int NEtaBins_
TH1F * histoE3x3[NPBins_+1][NEtaBins_+1]
TH1F * histoR2[NPBins_+1][NEtaBins_+1]
int iEvent
Definition: GenABIO.cc:230
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double etaBins_[NEtaBins_+1]
TH1F * histoE1x1[NPBins_+1][NEtaBins_+1]
bool isValid() const
Definition: HandleBase.h:74
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:38
edm::EDGetTokenT< edm::PCaloHitContainer > tok_EBhit_
Definition: DetId.h:18
TH1F * histoE5x5[NPBins_+1][NEtaBins_+1]
DetId hotCrystal(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double tMin=-500, double tMax=500, bool debug=false)
edm::EDGetTokenT< edm::PCaloHitContainer > tok_EEhit_
static const int NPBins_
T const * product() const
Definition: ESHandle.h:86
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
TH1F * histoR1[NPBins_+1][NEtaBins_+1]
double pBins_[NPBins_+1]
void ElectronStudy::beginJob ( void  )
inlineoverrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 51 of file ElectronStudy.cc.

51 {}
void ElectronStudy::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 146 of file ElectronStudy.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by ~ElectronStudy().

146  {
147 
149  desc.addUntracked<std::string>("ModuleLabel","g4SimHits");
150  desc.addUntracked<std::string>("EBCollection","EcalHitsEB");
151  desc.addUntracked<std::string>("EECollection","EcalHitsEE");
152  desc.addUntracked<int>("Verbosity",0);
153  descriptions.add("electronStudy",desc);
154 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

double ElectronStudy::etaBins_[NEtaBins_+1]
private

Definition at line 55 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoE1x1[NPBins_+1][NEtaBins_+1]
private

Definition at line 67 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoE3x3[NPBins_+1][NEtaBins_+1]
private

Definition at line 68 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoE5x5[NPBins_+1][NEtaBins_+1]
private

Definition at line 69 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoR1[NPBins_+1][NEtaBins_+1]
private

Definition at line 64 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoR2[NPBins_+1][NEtaBins_+1]
private

Definition at line 65 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

TH1F* ElectronStudy::histoR3[NPBins_+1][NEtaBins_+1]
private

Definition at line 66 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

bool ElectronStudy::histos_
private

Definition at line 63 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

int ElectronStudy::hotZone_
private

Definition at line 62 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

const int ElectronStudy::NEtaBins_ = 3
staticprivate

Definition at line 53 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

const int ElectronStudy::NPBins_ = 8
staticprivate

Definition at line 54 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

double ElectronStudy::pBins_[NPBins_+1]
private

Definition at line 55 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

edm::EDGetTokenT<edm::PCaloHitContainer> ElectronStudy::tok_EBhit_
private

Definition at line 57 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

edm::EDGetTokenT<edm::PCaloHitContainer> ElectronStudy::tok_EEhit_
private

Definition at line 58 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

edm::EDGetTokenT<edm::SimTrackContainer> ElectronStudy::tok_simTk_
private

Definition at line 59 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

edm::EDGetTokenT<edm::SimVertexContainer> ElectronStudy::tok_simVtx_
private

Definition at line 60 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().

int ElectronStudy::verbose_
private

Definition at line 62 of file ElectronStudy.cc.

Referenced by analyze(), and ElectronStudy().