CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
StudyCaloResponse Class Reference

#include <Calibration/IsolatedParticles/plugins/StudyCaloResponse.cc>

Inheritance diagram for StudyCaloResponse:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 StudyCaloResponse (const edm::ParameterSet &)
 
 ~StudyCaloResponse () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

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
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void clear ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void fillEnergy (int, int, double, double, double, double, double)
 
void fillIsolation (int, double, double, double)
 
void fillTrack (int, double, double, double, double)
 
int trackPID (const reco::Track *, const edm::Handle< reco::GenParticleCollection > &)
 
std::string truncate_str (const std::string &)
 

Private Attributes

bool changed_
 
const bool doTree_
 
int etaBin_ [nEtaBin_+1]
 
bool firstEvent_
 
edm::Service< TFileServicefs_
 
TH1D * h_counter [8]
 
TH1D * h_ediff [2]
 
TH1D * h_ene1 [2]
 
TH1D * h_ene2 [2]
 
TH1D * h_energy [nPVBin_+8][nPBin_][nEtaBin_][6]
 
TH1D * h_eta [nGen_+2]
 
TH1I * h_goodPV
 
TH1I * h_goodRun
 
TH1D * h_h_pNew [8]
 
TH1I * h_HLTAccept
 
std::vector< TH1I * > h_HLTAccepts
 
TH1I * h_HLTCorr
 
TH1D * h_maxNearP [2]
 
TH1I * h_nHLT
 
TH2I * h_nHLTvsRN
 
TH1I * h_ntrk [2]
 
TH1I * h_numberPV
 
TH1D * h_p [nGen_+2]
 
TH1D * h_phi [nGen_+2]
 
TH1D * h_pt [nGen_+2]
 
HLTConfigProvider hltConfig_
 
std::vector< std::string > HLTNames_
 
const bool isItAOD_
 
const double maxTrackEta_
 
const double minTrackP_
 
const std::vector< std::string > newNames_
 
int nRun_
 
double pBin_ [nPBin_+1]
 
const std::vector< double > puWeights_
 
int pvBin_ [nPVBin_+1]
 
spr::trackSelectionParameters selectionParameters_
 
const std::string theTrackQuality_
 
const edm::InputTag theTriggerResultsLabel_
 
const double tMaxE_
 
const double tMaxH_
 
const double tMinE_
 
const double tMinH_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
edm::EDGetTokenT< GenEventInfoProducttok_ew_
 
edm::EDGetTokenT< reco::TrackCollectiontok_genTrack_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< LumiDetailstok_lumi
 
edm::EDGetTokenT< reco::GenParticleCollectiontok_parts_
 
edm::EDGetTokenT< reco::VertexCollectiontok_recVtx_
 
edm::EDGetTokenT< trigger::TriggerEventtok_trigEvt
 
edm::EDGetTokenT< edm::TriggerResultstok_trigRes
 
double tr_eventWeight
 
std::vector< double > tr_FE11x11P
 
std::vector< double > tr_FE15x15P
 
std::vector< double > tr_FE7x7P
 
int tr_goodPV
 
int tr_goodRun
 
std::vector< double > tr_H3x3
 
std::vector< double > tr_H5x5
 
std::vector< double > tr_H7x7
 
std::vector< int > tr_iEta
 
std::vector< double > tr_MaxNearHcalP7x7
 
std::vector< double > tr_MaxNearP31X31
 
std::vector< bool > tr_SE11x11P
 
std::vector< bool > tr_SE15x15P
 
std::vector< bool > tr_SE7x7P
 
std::vector< std::string > tr_TrigName
 
std::vector< double > tr_TrkEta
 
std::vector< int > tr_TrkID
 
std::vector< double > tr_TrkP
 
std::vector< double > tr_TrkPhi
 
std::vector< double > tr_TrkPt
 
TTree * tree_
 
const edm::InputTag triggerEvent_
 
const std::vector< std::string > trigNames_
 
const int verbosity_
 
const bool vetoTrigger_
 

Static Private Attributes

static const int nEtaBin_ = 4
 
static const int nGen_ = (nPVBin_ + 12)
 
static const int nPBin_ = 15
 
static const int nPVBin_ = 4
 

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
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: Studies single particle response measurements in data/MC

Implementation: <Notes on="" implementation>="">

Definition at line 82 of file StudyCaloResponse.cc.

Constructor & Destructor Documentation

◆ StudyCaloResponse()

StudyCaloResponse::StudyCaloResponse ( const edm::ParameterSet iConfig)
explicit

Definition at line 155 of file StudyCaloResponse.cc.

156  : verbosity_(iConfig.getUntrackedParameter<int>("verbosity", 0)),
157  trigNames_(iConfig.getUntrackedParameter<std::vector<std::string> >("triggers")),
158  newNames_(iConfig.getUntrackedParameter<std::vector<std::string> >("newNames")),
159  theTrackQuality_(iConfig.getUntrackedParameter<std::string>("trackQuality", "highPurity")),
160  minTrackP_(iConfig.getUntrackedParameter<double>("minTrackP", 1.0)),
161  maxTrackEta_(iConfig.getUntrackedParameter<double>("maxTrackEta", 2.5)),
162  tMinE_(iConfig.getUntrackedParameter<double>("timeMinCutECAL", -500.)),
163  tMaxE_(iConfig.getUntrackedParameter<double>("timeMaxCutECAL", 500.)),
164  tMinH_(iConfig.getUntrackedParameter<double>("timeMinCutHCAL", -500.)),
165  tMaxH_(iConfig.getUntrackedParameter<double>("timeMaxCutHCAL", 500.)),
166  isItAOD_(iConfig.getUntrackedParameter<bool>("isItAOD", false)),
167  vetoTrigger_(iConfig.getUntrackedParameter<bool>("vetoTrigger", false)),
168  doTree_(iConfig.getUntrackedParameter<bool>("doTree", false)),
169  puWeights_(iConfig.getUntrackedParameter<std::vector<double> >("puWeights")),
170  triggerEvent_(edm::InputTag("hltTriggerSummaryAOD", "", "HLT")),
171  theTriggerResultsLabel_(edm::InputTag("TriggerResults", "", "HLT")),
172  nRun_(0) {
173  usesResource(TFileService::kSharedResource);
174 
176  selectionParameters_.minPt = iConfig.getUntrackedParameter<double>("minTrackPt", 10.0);
178  selectionParameters_.maxDxyPV = iConfig.getUntrackedParameter<double>("maxDxyPV", 0.2);
179  selectionParameters_.maxDzPV = iConfig.getUntrackedParameter<double>("maxDzPV", 5.0);
180  selectionParameters_.maxChi2 = iConfig.getUntrackedParameter<double>("maxChi2", 5.0);
181  selectionParameters_.maxDpOverP = iConfig.getUntrackedParameter<double>("maxDpOverP", 0.1);
182  selectionParameters_.minOuterHit = iConfig.getUntrackedParameter<int>("minOuterHit", 4);
183  selectionParameters_.minLayerCrossed = iConfig.getUntrackedParameter<int>("minLayerCrossed", 8);
184  selectionParameters_.maxInMiss = iConfig.getUntrackedParameter<int>("maxInMiss", 0);
185  selectionParameters_.maxOutMiss = iConfig.getUntrackedParameter<int>("maxOutMiss", 0);
186 
187  // define tokens for access
188  tok_lumi = consumes<LumiDetails, edm::InLumi>(edm::InputTag("lumiProducer"));
189  tok_trigEvt = consumes<trigger::TriggerEvent>(triggerEvent_);
190  tok_trigRes = consumes<edm::TriggerResults>(theTriggerResultsLabel_);
191  tok_genTrack_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
192  tok_recVtx_ = consumes<reco::VertexCollection>(edm::InputTag("offlinePrimaryVertices"));
193  tok_parts_ = consumes<reco::GenParticleCollection>(iConfig.getParameter<edm::InputTag>("particleSource"));
194 
195  if (isItAOD_) {
196  tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("reducedEcalRecHitsEB"));
197  tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("reducedEcalRecHitsEE"));
198  tok_hbhe_ = consumes<HBHERecHitCollection>(edm::InputTag("reducedHcalRecHits", "hbhereco"));
199  } else {
200  tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
201  tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
202  tok_hbhe_ = consumes<HBHERecHitCollection>(edm::InputTag("hbhereco"));
203  }
204  tok_ew_ = consumes<GenEventInfoProduct>(edm::InputTag("generator"));
205 
206  edm::LogInfo("IsoTrack") << "Verbosity " << verbosity_ << " with " << trigNames_.size() << " triggers:";
207  for (unsigned int k = 0; k < trigNames_.size(); ++k)
208  edm::LogInfo("IsoTrack") << " [" << k << "] " << trigNames_[k];
209  edm::LogInfo("IsoTrack") << "TrackQuality " << theTrackQuality_ << " Minpt " << selectionParameters_.minPt
210  << " maxDxy " << selectionParameters_.maxDxyPV << " maxDz " << selectionParameters_.maxDzPV
211  << " maxChi2 " << selectionParameters_.maxChi2 << " maxDp/p "
213  << " minLayerCrossed " << selectionParameters_.minLayerCrossed << " maxInMiss "
215  << " minTrackP " << minTrackP_ << " maxTrackEta " << maxTrackEta_ << " tMinE_ " << tMinE_
216  << " tMaxE " << tMaxE_ << " tMinH_ " << tMinH_ << " tMaxH_ " << tMaxH_ << " isItAOD "
217  << isItAOD_ << " doTree " << doTree_ << " vetoTrigger " << vetoTrigger_;
218 
219  double pBins[nPBin_ + 1] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 9.0, 11.0, 15.0, 20.0, 25.0, 30.0, 40.0, 60.0, 100.0};
220  int etaBins[nEtaBin_ + 1] = {1, 7, 13, 17, 23};
221  int pvBins[nPVBin_ + 1] = {1, 2, 3, 5, 100};
222  for (int i = 0; i <= nPBin_; ++i)
223  pBin_[i] = pBins[i];
224  for (int i = 0; i <= nEtaBin_; ++i)
225  etaBin_[i] = etaBins[i];
226  for (int i = 0; i <= nPVBin_; ++i)
227  pvBin_[i] = pvBins[i];
228 
229  firstEvent_ = true;
230  changed_ = false;
231 }

References changed_, doTree_, etaBin_, HLT_2018_cff::etaBins, firstEvent_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), mps_fire::i, isItAOD_, dqmdumpme::k, TFileService::kSharedResource, spr::trackSelectionParameters::maxChi2, spr::trackSelectionParameters::maxDpOverP, spr::trackSelectionParameters::maxDxyPV, spr::trackSelectionParameters::maxDzPV, spr::trackSelectionParameters::maxInMiss, spr::trackSelectionParameters::maxOutMiss, maxTrackEta_, spr::trackSelectionParameters::minLayerCrossed, spr::trackSelectionParameters::minOuterHit, spr::trackSelectionParameters::minPt, spr::trackSelectionParameters::minQuality, minTrackP_, nEtaBin_, nPBin_, nPVBin_, pBin_, pvBin_, reco::TrackBase::qualityByName(), selectionParameters_, theTrackQuality_, theTriggerResultsLabel_, tMaxE_, tMaxH_, tMinE_, tMinH_, tok_EB_, tok_EE_, tok_ew_, tok_genTrack_, tok_hbhe_, tok_lumi, tok_parts_, tok_recVtx_, tok_trigEvt, tok_trigRes, StandaloneTrackMonitor_cfi::trackQuality, triggerEvent_, trigNames_, verbosity_, and vetoTrigger_.

◆ ~StudyCaloResponse()

StudyCaloResponse::~StudyCaloResponse ( )
inlineoverride

Definition at line 85 of file StudyCaloResponse.cc.

85 {}

Member Function Documentation

◆ analyze()

void StudyCaloResponse::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 265 of file StudyCaloResponse.cc.

265  {
266  clear();
267  int counter0[1000] = {0};
268  int counter1[1000] = {0};
269  int counter2[1000] = {0};
270  int counter3[1000] = {0};
271  int counter4[1000] = {0};
272  int counter5[1000] = {0};
273  int counter6[1000] = {0};
274  int counter7[1000] = {0};
275  if (verbosity_ > 0)
276  edm::LogInfo("IsoTrack") << "Event starts====================================";
277  int RunNo = iEvent.id().run();
278  int EvtNo = iEvent.id().event();
279  int Lumi = iEvent.luminosityBlock();
280  int Bunch = iEvent.bunchCrossing();
281 
282  std::vector<int> newAccept(newNames_.size() + 1, 0);
283  if (verbosity_ > 0)
284  edm::LogInfo("IsoTrack") << "RunNo " << RunNo << " EvtNo " << EvtNo << " Lumi " << Lumi << " Bunch " << Bunch;
285 
287  edm::Handle<trigger::TriggerEvent> triggerEventHandle;
288  iEvent.getByToken(tok_trigEvt, triggerEventHandle);
289 
290  bool ok(false);
291  if (!triggerEventHandle.isValid()) {
292  edm::LogWarning("IsoTrack") << "Error! Can't get the product " << triggerEvent_.label();
293  } else {
294  triggerEvent = *(triggerEventHandle.product());
295 
298  iEvent.getByToken(tok_trigRes, triggerResults);
299 
300  if (triggerResults.isValid()) {
301  h_nHLT->Fill(triggerResults->size());
302  h_nHLTvsRN->Fill(RunNo, triggerResults->size());
303 
304  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
305  const std::vector<std::string>& triggerNames_ = triggerNames.triggerNames();
306  for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
307  int ipos = -1;
308  std::string newtriggerName = truncate_str(triggerNames_[iHLT]);
309  for (unsigned int i = 0; i < HLTNames_.size(); ++i) {
310  if (newtriggerName == HLTNames_[i]) {
311  ipos = i + 1;
312  break;
313  }
314  }
315  if (ipos < 0) {
316  HLTNames_.push_back(newtriggerName);
317  ipos = (int)(HLTNames_.size());
318  if (ipos <= h_HLTAccept->GetNbinsX())
319  h_HLTAccept->GetXaxis()->SetBinLabel(ipos, newtriggerName.c_str());
320  }
321  if ((int)(iHLT + 1) > h_HLTAccepts[nRun_]->GetNbinsX()) {
322  edm::LogInfo("IsoTrack") << "Wrong trigger " << RunNo << " Event " << EvtNo << " Hlt " << iHLT;
323  } else {
324  if (firstEvent_)
325  h_HLTAccepts[nRun_]->GetXaxis()->SetBinLabel(iHLT + 1, newtriggerName.c_str());
326  }
327  int hlt = triggerResults->accept(iHLT);
328  if (hlt) {
329  h_HLTAccepts[nRun_]->Fill(iHLT + 1);
330  h_HLTAccept->Fill(ipos);
331  }
332  if (trigNames_.empty()) {
333  ok = true;
334  } else {
335  for (unsigned int i = 0; i < trigNames_.size(); ++i) {
336  if (newtriggerName.find(trigNames_[i]) != std::string::npos) {
337  if (verbosity_ % 10 > 0)
338  edm::LogInfo("IsoTrack") << newtriggerName;
339  if (hlt > 0) {
340  ok = true;
341  tr_TrigName.push_back(newtriggerName);
342  }
343  }
344  }
345  if (vetoTrigger_)
346  ok = !ok;
347  for (unsigned int i = 0; i < newNames_.size(); ++i) {
348  if (newtriggerName.find(newNames_[i]) != std::string::npos) {
349  if (verbosity_ % 10 > 0)
350  edm::LogInfo("IsoTrack") << "[" << i << "] " << newNames_[i] << " : " << newtriggerName;
351  if (hlt > 0)
352  newAccept[i] = 1;
353  }
354  }
355  }
356  }
357  int iflg(0), indx(1);
358  for (unsigned int i = 0; i < newNames_.size(); ++i) {
359  iflg += (indx * newAccept[i]);
360  indx *= 2;
361  }
362  h_HLTCorr->Fill(iflg);
363  }
364  }
365 
366  //Look at the tracks
367  if (ok) {
368  h_goodRun->Fill(RunNo);
369  tr_goodRun = RunNo;
370  // get handles to calogeometry and calotopology
372  iSetup.get<CaloGeometryRecord>().get(pG);
373  const CaloGeometry* geo = pG.product();
374 
375  edm::ESHandle<CaloTopology> theCaloTopology;
376  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
377  const CaloTopology* caloTopology = theCaloTopology.product();
378 
380  iSetup.get<HcalRecNumberingRecord>().get(htopo);
381  const HcalTopology* theHBHETopology = htopo.product();
382 
384  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
385  const MagneticField* bField = bFieldH.product();
386 
388  iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus);
389  const EcalChannelStatus* theEcalChStatus = ecalChStatus.product();
390 
392  iEvent.getByToken(tok_recVtx_, recVtxs);
393  int ntrk(0), ngoodPV(0), nPV(-1);
394  int nvtxs = (int)(recVtxs->size());
395  for (int ind = 0; ind < nvtxs; ind++) {
396  if (!((*recVtxs)[ind].isFake()) && (*recVtxs)[ind].ndof() > 4)
397  ngoodPV++;
398  }
399  for (int i = 0; i < nPVBin_; ++i) {
400  if (ngoodPV >= pvBin_[i] && ngoodPV < pvBin_[i + 1]) {
401  nPV = i;
402  break;
403  }
404  }
405 
406  tr_eventWeight = 1.0;
408  iEvent.getByToken(tok_ew_, genEventInfo);
409  if (genEventInfo.isValid())
410  tr_eventWeight = genEventInfo->weight();
411 
412  if ((verbosity_ / 10) % 10 > 0)
413  edm::LogInfo("IsoTrack") << "Number of vertices: " << nvtxs << " Good " << ngoodPV << " Bin " << nPV
414  << " Event weight " << tr_eventWeight;
415  h_numberPV->Fill(nvtxs, tr_eventWeight);
416  h_goodPV->Fill(ngoodPV, tr_eventWeight);
417  tr_goodPV = ngoodPV;
418 
419  if (!puWeights_.empty()) {
420  int npbin = h_goodPV->FindBin(ngoodPV);
421  if (npbin > 0 && npbin <= (int)(puWeights_.size()))
422  tr_eventWeight *= puWeights_[npbin - 1];
423  else
424  tr_eventWeight = 0;
425  }
426 
428  iEvent.getByToken(tok_genTrack_, trkCollection);
429 
430  //=== genParticle information
432  iEvent.getByToken(tok_parts_, genParticles);
433  if (genParticles.isValid()) {
434  for (const auto& p : (reco::GenParticleCollection)(*genParticles)) {
435  double pt1 = p.momentum().Rho();
436  double p1 = p.momentum().R();
437  double eta1 = p.momentum().Eta();
438  double phi1 = p.momentum().Phi();
439  fillTrack(nGen_, pt1, p1, eta1, phi1);
440  bool match(false);
441  double phi2(phi1);
442  if (phi2 < 0)
443  phi2 += 2.0 * M_PI;
444  for (const auto& trk : (reco::TrackCollection)(*trkCollection)) {
445  bool quality = trk.quality(selectionParameters_.minQuality);
446  if (quality) {
447  double dEta = trk.eta() - eta1;
448  double phi0 = trk.phi();
449  if (phi0 < 0)
450  phi0 += 2.0 * M_PI;
451  double dPhi = phi0 - phi2;
452  if (dPhi > M_PI)
453  dPhi -= 2. * M_PI;
454  else if (dPhi < -M_PI)
455  dPhi += 2. * M_PI;
456  double dR = sqrt(dEta * dEta + dPhi * dPhi);
457  if (dR < 0.01) {
458  match = true;
459  break;
460  }
461  }
462  }
463  if (match)
464  fillTrack(nGen_ + 1, pt1, p1, eta1, phi1);
465  }
466  }
467 
468  reco::TrackCollection::const_iterator trkItr;
469  for (trkItr = trkCollection->begin(); trkItr != trkCollection->end(); ++trkItr, ++ntrk) {
470  const reco::Track* pTrack = &(*trkItr);
471  double pt1 = pTrack->pt();
472  double p1 = pTrack->p();
473  double eta1 = pTrack->momentum().eta();
474  double phi1 = pTrack->momentum().phi();
476  fillTrack(0, pt1, p1, eta1, phi1);
477  if (quality)
478  fillTrack(1, pt1, p1, eta1, phi1);
479  if (p1 < 1000) {
480  h_h_pNew[0]->Fill(p1);
481  ++counter0[(int)(p1)];
482  }
483  }
484  h_ntrk[0]->Fill(ntrk, tr_eventWeight);
485 
486  std::vector<spr::propagatedTrackID> trkCaloDets;
487  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality_, trkCaloDets, ((verbosity_ / 100) % 10 > 0));
488  std::vector<spr::propagatedTrackID>::const_iterator trkDetItr;
489  for (trkDetItr = trkCaloDets.begin(), ntrk = 0; trkDetItr != trkCaloDets.end(); trkDetItr++, ntrk++) {
490  const reco::Track* pTrack = &(*(trkDetItr->trkItr));
491  double pt1 = pTrack->pt();
492  double p1 = pTrack->p();
493  double eta1 = pTrack->momentum().eta();
494  double phi1 = pTrack->momentum().phi();
495  if ((verbosity_ / 10) % 10 > 0)
496  edm::LogInfo("IsoTrack") << "track: p " << p1 << " pt " << pt1 << " eta " << eta1 << " phi " << phi1
497  << " okEcal " << trkDetItr->okECAL;
498  fillTrack(2, pt1, p1, eta1, phi1);
499  if (pt1 > minTrackP_ && std::abs(eta1) < maxTrackEta_ && trkDetItr->okECAL) {
500  fillTrack(3, pt1, p1, eta1, phi1);
501  double maxNearP31x31 =
502  spr::chargeIsolationEcal(ntrk, trkCaloDets, geo, caloTopology, 15, 15, ((verbosity_ / 1000) % 10 > 0));
503 
505  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
506 
507  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
508  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
509  iEvent.getByToken(tok_EB_, barrelRecHitsHandle);
510  iEvent.getByToken(tok_EE_, endcapRecHitsHandle);
511  // get ECal Tranverse Profile
512  std::pair<double, bool> e7x7P, e11x11P, e15x15P;
513  const DetId isoCell = trkDetItr->detIdECAL;
514  e7x7P = spr::eECALmatrix(isoCell,
515  barrelRecHitsHandle,
516  endcapRecHitsHandle,
517  *theEcalChStatus,
518  geo,
519  caloTopology,
520  sevlv.product(),
521  3,
522  3,
523  0.030,
524  0.150,
525  tMinE_,
526  tMaxE_,
527  ((verbosity_ / 10000) % 10 > 0));
528  e11x11P = spr::eECALmatrix(isoCell,
529  barrelRecHitsHandle,
530  endcapRecHitsHandle,
531  *theEcalChStatus,
532  geo,
533  caloTopology,
534  sevlv.product(),
535  5,
536  5,
537  0.030,
538  0.150,
539  tMinE_,
540  tMaxE_,
541  ((verbosity_ / 10000) % 10 > 0));
542  e15x15P = spr::eECALmatrix(isoCell,
543  barrelRecHitsHandle,
544  endcapRecHitsHandle,
545  *theEcalChStatus,
546  geo,
547  caloTopology,
548  sevlv.product(),
549  7,
550  7,
551  0.030,
552  0.150,
553  tMinE_,
554  tMaxE_,
555  ((verbosity_ / 10000) % 10 > 0));
556 
557  double maxNearHcalP7x7 =
558  spr::chargeIsolationHcal(ntrk, trkCaloDets, theHBHETopology, 3, 3, ((verbosity_ / 1000) % 10 > 0));
559  int ieta(0);
560  double h3x3(0), h5x5(0), h7x7(0);
561  fillIsolation(0, maxNearP31x31, e11x11P.first, e15x15P.first);
562  if ((verbosity_ / 10) % 10 > 0)
563  edm::LogInfo("IsoTrack") << "Accepted Tracks reaching Ecal maxNearP31x31 " << maxNearP31x31 << " e11x11P "
564  << e11x11P.first << " e15x15P " << e15x15P.first << " okHCAL " << trkDetItr->okHCAL;
565 
566  int trackID = trackPID(pTrack, genParticles);
567  if (trkDetItr->okHCAL) {
569  iEvent.getByToken(tok_hbhe_, hbhe);
570  const DetId ClosestCell(trkDetItr->detIdHCAL);
571  ieta = ((HcalDetId)(ClosestCell)).ietaAbs();
572  h3x3 = spr::eHCALmatrix(theHBHETopology,
573  ClosestCell,
574  hbhe,
575  1,
576  1,
577  false,
578  true,
579  0.7,
580  0.8,
581  -100.0,
582  -100.0,
583  tMinH_,
584  tMaxH_,
585  ((verbosity_ / 10000) % 10 > 0));
586  h5x5 = spr::eHCALmatrix(theHBHETopology,
587  ClosestCell,
588  hbhe,
589  2,
590  2,
591  false,
592  true,
593  0.7,
594  0.8,
595  -100.0,
596  -100.0,
597  tMinH_,
598  tMaxH_,
599  ((verbosity_ / 10000) % 10 > 0));
600  h7x7 = spr::eHCALmatrix(theHBHETopology,
601  ClosestCell,
602  hbhe,
603  3,
604  3,
605  false,
606  true,
607  0.7,
608  0.8,
609  -100.0,
610  -100.0,
611  tMinH_,
612  tMaxH_,
613  ((verbosity_ / 10000) % 10 > 0));
614  fillIsolation(1, maxNearHcalP7x7, h5x5, h7x7);
615  if ((verbosity_ / 10) % 10 > 0)
616  edm::LogInfo("IsoTrack") << "Tracks Reaching Hcal maxNearHcalP7x7/h5x5/h7x7 " << maxNearHcalP7x7 << "/"
617  << h5x5 << "/" << h7x7;
618  tr_TrkPt.push_back(pt1);
619  tr_TrkP.push_back(p1);
620  tr_TrkEta.push_back(eta1);
621  tr_TrkPhi.push_back(phi1);
622  tr_TrkID.push_back(trackID);
623  tr_MaxNearP31X31.push_back(maxNearP31x31);
624  tr_MaxNearHcalP7x7.push_back(maxNearHcalP7x7);
625  tr_FE7x7P.push_back(e7x7P.first);
626  tr_FE11x11P.push_back(e11x11P.first);
627  tr_FE15x15P.push_back(e15x15P.first);
628  tr_SE7x7P.push_back(e7x7P.second);
629  tr_SE11x11P.push_back(e11x11P.second);
630  tr_SE15x15P.push_back(e15x15P.second);
631  tr_iEta.push_back(ieta);
632  tr_H3x3.push_back(h3x3);
633  tr_H5x5.push_back(h5x5);
634  tr_H7x7.push_back(h7x7);
635 
636  if (maxNearP31x31 < 0) {
637  fillTrack(4, pt1, p1, eta1, phi1);
638  fillEnergy(0, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
639  if (maxNearHcalP7x7 < 0) {
640  fillTrack(5, pt1, p1, eta1, phi1);
641  fillEnergy(1, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
642  if ((e11x11P.second) && (e15x15P.second) && (e15x15P.first - e11x11P.first) < 2.0) {
643  fillTrack(6, pt1, p1, eta1, phi1);
644  fillEnergy(2, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
645  if (h7x7 - h5x5 < 2.0) {
646  fillTrack(7, pt1, p1, eta1, phi1);
647  fillEnergy(3, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
648  if (nPV >= 0) {
649  fillTrack(nPV + 8, pt1, p1, eta1, phi1);
650  fillEnergy(nPV + 4, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
651  }
652  if (trackID > 0) {
653  fillTrack(nPVBin_ + trackID + 7, pt1, p1, eta1, phi1);
654  fillEnergy(nPVBin_ + trackID + 3, ieta, p1, e7x7P.first, h3x3, e11x11P.first, h5x5);
655  }
656  if (p1 < 1000) {
657  h_h_pNew[7]->Fill(p1);
658  ++counter7[(int)(p1)];
659  }
660  }
661  if (p1 < 1000) {
662  h_h_pNew[6]->Fill(p1);
663  ++counter6[(int)(p1)];
664  }
665  }
666  if (p1 < 1000) {
667  h_h_pNew[5]->Fill(p1);
668  ++counter5[(int)(p1)];
669  }
670  }
671  if (p1 < 1000) {
672  h_h_pNew[4]->Fill(p1);
673  ++counter4[(int)(p1)];
674  }
675  }
676  if (p1 < 1000) {
677  h_h_pNew[3]->Fill(p1);
678  ++counter3[(int)(p1)];
679  }
680  }
681  if (p1 < 1000) {
682  h_h_pNew[2]->Fill(p1);
683  ++counter2[(int)(p1)];
684  }
685  }
686  if (p1 < 1000) {
687  h_h_pNew[1]->Fill(p1);
688  ++counter1[(int)(p1)];
689  }
690  }
691  h_ntrk[1]->Fill(ntrk, tr_eventWeight);
692  if ((!tr_TrkPt.empty()) && doTree_)
693  tree_->Fill();
694  for (int i = 0; i < 1000; ++i) {
695  if (counter0[i])
696  h_counter[0]->Fill(i, counter0[i]);
697  if (counter1[i])
698  h_counter[1]->Fill(i, counter1[i]);
699  if (counter2[i])
700  h_counter[2]->Fill(i, counter2[i]);
701  if (counter3[i])
702  h_counter[3]->Fill(i, counter3[i]);
703  if (counter4[i])
704  h_counter[4]->Fill(i, counter4[i]);
705  if (counter5[i])
706  h_counter[5]->Fill(i, counter5[i]);
707  if (counter6[i])
708  h_counter[6]->Fill(i, counter6[i]);
709  if (counter7[i])
710  h_counter[7]->Fill(i, counter7[i]);
711  }
712  }
713  firstEvent_ = false;
714 }

References funct::abs(), Calorimetry_cff::bField, spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), clear(), HLT_2018_cff::dEta, doTree_, HLT_2018_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, spr::eECALmatrix(), spr::eHCALmatrix(), HLT_2018_cff::eta1, fillEnergy(), fillIsolation(), fillTrack(), firstEvent_, genParticles2HepMC_cfi::genEventInfo, genParticles2HepMC_cfi::genParticles, edm::EventSetup::get(), get, h_counter, h_goodPV, h_goodRun, h_h_pNew, h_HLTAccept, h_HLTAccepts, h_HLTCorr, h_nHLT, h_nHLTvsRN, h_ntrk, h_numberPV, photonIsolationHIProducer_cfi::hbhe, ValidationMatrix::hlt, HLTNames_, mps_fire::i, LEDCalibrationChannels::ieta, iEvent, createfilelist::int, edm::HandleBase::isValid(), edm::InputTag::label(), mix_E10TeV_L13E31_BX432_cfi::Lumi, M_PI, match(), maxTrackEta_, spr::trackSelectionParameters::minQuality, minTrackP_, reco::TrackBase::momentum(), newNames_, nGen_, nPVBin_, nRun_, convertSQLiteXML::ok, AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::p(), p1, edm::Handle< T >::product(), edm::ESHandle< T >::product(), spr::propagateCALO(), reco::TrackBase::pt(), HLT_2018_cff::pt1, puWeights_, pvBin_, qcdUeDQM_cfi::quality, reco::TrackBase::quality(), selectionParameters_, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, theTrackQuality_, tMaxE_, tMaxH_, tMinE_, tMinH_, tok_EB_, tok_EE_, tok_ew_, tok_genTrack_, tok_hbhe_, tok_parts_, tok_recVtx_, tok_trigEvt, tok_trigRes, tr_eventWeight, tr_FE11x11P, tr_FE15x15P, tr_FE7x7P, tr_goodPV, tr_goodRun, tr_H3x3, tr_H5x5, tr_H7x7, tr_iEta, tr_MaxNearHcalP7x7, tr_MaxNearP31X31, tr_SE11x11P, tr_SE15x15P, tr_SE7x7P, tr_TrigName, tr_TrkEta, tr_TrkID, tr_TrkP, tr_TrkPhi, tr_TrkPt, trackPID(), tree_, PDWG_DiPhoton_SD_cff::triggerEvent, triggerEvent_, L1TEGammaOffline_cfi::triggerNames, triggerResults, trigNames_, truncate_str(), verbosity_, and vetoTrigger_.

◆ beginJob()

void StudyCaloResponse::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 716 of file StudyCaloResponse.cc.

716  {
717  // Book histograms
718  h_nHLT = fs_->make<TH1I>("h_nHLT", "size of trigger Names", 1000, 0, 1000);
719  h_HLTAccept = fs_->make<TH1I>("h_HLTAccept", "HLT Accepts for all runs", 500, 0, 500);
720  for (int i = 1; i <= 500; ++i)
721  h_HLTAccept->GetXaxis()->SetBinLabel(i, " ");
722  h_nHLTvsRN = fs_->make<TH2I>("h_nHLTvsRN", "size of trigger Names vs RunNo", 2168, 190949, 193116, 100, 400, 500);
723  h_HLTCorr = fs_->make<TH1I>("h_HLTCorr", "Correlation among different paths", 100, 0, 100);
724  h_numberPV = fs_->make<TH1I>("h_numberPV", "Number of Primary Vertex", 100, 0, 100);
725  h_goodPV = fs_->make<TH1I>("h_goodPV", "Number of good Primary Vertex", 100, 0, 100);
726  h_goodRun = fs_->make<TH1I>("h_goodRun", "Number of accepted events for Run", 4000, 190000, 1940000);
727  char hname[60], htit[200];
728  std::string CollectionNames[2] = {"Reco", "Propagated"};
729  for (unsigned int i = 0; i < 2; i++) {
730  sprintf(hname, "h_nTrk_%s", CollectionNames[i].c_str());
731  sprintf(htit, "Number of %s tracks", CollectionNames[i].c_str());
732  h_ntrk[i] = fs_->make<TH1I>(hname, htit, 500, 0, 500);
733  }
734  std::string TrkNames[8] = {
735  "All", "Quality", "NoIso", "okEcal", "EcalCharIso", "HcalCharIso", "EcalNeutIso", "HcalNeutIso"};
736  std::string particle[4] = {"Electron", "Pion", "Kaon", "Proton"};
737  for (unsigned int i = 0; i <= nGen_ + 1; i++) {
738  if (i < 8) {
739  sprintf(hname, "h_pt_%s", TrkNames[i].c_str());
740  sprintf(htit, "p_{T} of %s tracks", TrkNames[i].c_str());
741  } else if (i < 8 + nPVBin_) {
742  sprintf(hname, "h_pt_%s_%d", TrkNames[7].c_str(), i - 8);
743  sprintf(htit, "p_{T} of %s tracks (PV=%d:%d)", TrkNames[7].c_str(), pvBin_[i - 8], pvBin_[i - 7] - 1);
744  } else if (i >= nGen_) {
745  sprintf(hname, "h_pt_%s_%d", TrkNames[0].c_str(), i - nGen_);
746  sprintf(htit, "p_{T} of %s Generator tracks", TrkNames[0].c_str());
747  } else {
748  sprintf(hname, "h_pt_%s_%s", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
749  sprintf(htit, "p_{T} of %s tracks (%s)", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
750  }
751  h_pt[i] = fs_->make<TH1D>(hname, htit, 400, 0, 200.0);
752  h_pt[i]->Sumw2();
753 
754  if (i < 8) {
755  sprintf(hname, "h_p_%s", TrkNames[i].c_str());
756  sprintf(htit, "Momentum of %s tracks", TrkNames[i].c_str());
757  } else if (i < 8 + nPVBin_) {
758  sprintf(hname, "h_p_%s_%d", TrkNames[7].c_str(), i - 8);
759  sprintf(htit, "Momentum of %s tracks (PV=%d:%d)", TrkNames[7].c_str(), pvBin_[i - 8], pvBin_[i - 7] - 1);
760  } else if (i >= nGen_) {
761  sprintf(hname, "h_p_%s_%d", TrkNames[0].c_str(), i - nGen_);
762  sprintf(htit, "Momentum of %s Generator tracks", TrkNames[0].c_str());
763  } else {
764  sprintf(hname, "h_p_%s_%s", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
765  sprintf(htit, "Momentum of %s tracks (%s)", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
766  }
767  h_p[i] = fs_->make<TH1D>(hname, htit, 400, 0, 200.0);
768  h_p[i]->Sumw2();
769 
770  if (i < 8) {
771  sprintf(hname, "h_eta_%s", TrkNames[i].c_str());
772  sprintf(htit, "Eta of %s tracks", TrkNames[i].c_str());
773  } else if (i < 8 + nPVBin_) {
774  sprintf(hname, "h_eta_%s_%d", TrkNames[7].c_str(), i - 8);
775  sprintf(htit, "Eta of %s tracks (PV=%d:%d)", TrkNames[7].c_str(), pvBin_[i - 8], pvBin_[i - 7] - 1);
776  } else if (i >= nGen_) {
777  sprintf(hname, "h_eta_%s_%d", TrkNames[0].c_str(), i - nGen_);
778  sprintf(htit, "Eta of %s Generator tracks", TrkNames[0].c_str());
779  } else {
780  sprintf(hname, "h_eta_%s_%s", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
781  sprintf(htit, "Eta of %s tracks (%s)", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
782  }
783  h_eta[i] = fs_->make<TH1D>(hname, htit, 60, -3.0, 3.0);
784  h_eta[i]->Sumw2();
785 
786  if (i < 8) {
787  sprintf(hname, "h_phi_%s", TrkNames[i].c_str());
788  sprintf(htit, "Phi of %s tracks", TrkNames[i].c_str());
789  } else if (i < 8 + nPVBin_) {
790  sprintf(hname, "h_phi_%s_%d", TrkNames[7].c_str(), i - 8);
791  sprintf(htit, "Phi of %s tracks (PV=%d:%d)", TrkNames[7].c_str(), pvBin_[i - 8], pvBin_[i - 7] - 1);
792  } else if (i >= nGen_) {
793  sprintf(hname, "h_phi_%s_%d", TrkNames[0].c_str(), i - nGen_);
794  sprintf(htit, "Phi of %s Generator tracks", TrkNames[0].c_str());
795  } else {
796  sprintf(hname, "h_phi_%s_%s", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
797  sprintf(htit, "Phi of %s tracks (%s)", TrkNames[7].c_str(), particle[i - 8 - nPVBin_].c_str());
798  }
799  h_phi[i] = fs_->make<TH1D>(hname, htit, 100, -3.15, 3.15);
800  h_phi[i]->Sumw2();
801  }
802  std::string IsolationNames[2] = {"Ecal", "Hcal"};
803  for (unsigned int i = 0; i < 2; i++) {
804  sprintf(hname, "h_maxNearP_%s", IsolationNames[i].c_str());
805  sprintf(htit, "Energy in ChargeIso region for %s", IsolationNames[i].c_str());
806  h_maxNearP[i] = fs_->make<TH1D>(hname, htit, 120, -1.5, 10.5);
807  h_maxNearP[i]->Sumw2();
808 
809  sprintf(hname, "h_ene1_%s", IsolationNames[i].c_str());
810  sprintf(htit, "Energy in smaller cone for %s", IsolationNames[i].c_str());
811  h_ene1[i] = fs_->make<TH1D>(hname, htit, 400, 0.0, 200.0);
812  h_ene1[i]->Sumw2();
813 
814  sprintf(hname, "h_ene2_%s", IsolationNames[i].c_str());
815  sprintf(htit, "Energy in bigger cone for %s", IsolationNames[i].c_str());
816  h_ene2[i] = fs_->make<TH1D>(hname, htit, 400, 0.0, 200.0);
817  h_ene2[i]->Sumw2();
818 
819  sprintf(hname, "h_ediff_%s", IsolationNames[i].c_str());
820  sprintf(htit, "Energy in NeutralIso region for %s", IsolationNames[i].c_str());
821  h_ediff[i] = fs_->make<TH1D>(hname, htit, 100, -0.5, 19.5);
822  h_ediff[i]->Sumw2();
823  }
824  std::string energyNames[6] = {
825  "E_{7x7}", "H_{3x3}", "(E_{7x7}+H_{3x3})", "E_{11x11}", "H_{5x5}", "{E_{11x11}+H_{5x5})"};
826  for (int i = 0; i < 4 + nPVBin_ + 4; ++i) {
827  for (int ip = 0; ip < nPBin_; ++ip) {
828  for (int ie = 0; ie < nEtaBin_; ++ie) {
829  for (int j = 0; j < 6; ++j) {
830  sprintf(hname, "h_energy_%d_%d_%d_%d", i, ip, ie, j);
831  if (i < 4) {
832  sprintf(htit,
833  "%s/p (p=%4.1f:%4.1f; i#eta=%d:%d) for tracks with %s",
834  energyNames[j].c_str(),
835  pBin_[ip],
836  pBin_[ip + 1],
837  etaBin_[ie],
838  (etaBin_[ie + 1] - 1),
839  TrkNames[i + 4].c_str());
840  } else if (i < 4 + nPVBin_) {
841  sprintf(htit,
842  "%s/p (p=%4.1f:%4.1f, i#eta=%d:%d, PV=%d:%d) for tracks with %s",
843  energyNames[j].c_str(),
844  pBin_[ip],
845  pBin_[ip + 1],
846  etaBin_[ie],
847  (etaBin_[ie + 1] - 1),
848  pvBin_[i - 4],
849  pvBin_[i - 3],
850  TrkNames[7].c_str());
851  } else {
852  sprintf(htit,
853  "%s/p (p=%4.1f:%4.1f, i#eta=%d:%d %s) for tracks with %s",
854  energyNames[j].c_str(),
855  pBin_[ip],
856  pBin_[ip + 1],
857  etaBin_[ie],
858  (etaBin_[ie + 1] - 1),
859  particle[i - 4 - nPVBin_].c_str(),
860  TrkNames[7].c_str());
861  }
862  h_energy[i][ip][ie][j] = fs_->make<TH1D>(hname, htit, 5000, -0.1, 49.9);
863  h_energy[i][ip][ie][j]->Sumw2();
864  }
865  }
866  }
867  }
868 
869  for (int i = 0; i < 8; ++i) {
870  sprintf(hname, "counter%d", i);
871  sprintf(htit, "Counter with cut %d", i);
872  h_counter[i] = fs_->make<TH1D>(hname, htit, 1000, 0, 1000);
873  sprintf(hname, "h_pTNew%d", i);
874  sprintf(htit, "Track momentum with cut %d", i);
875  h_h_pNew[i] = fs_->make<TH1D>(hname, htit, 1000, 0, 1000);
876  }
877 
878  // Now the tree
879  if (doTree_) {
880  tree_ = fs_->make<TTree>("testTree", "new HLT Tree");
881  tree_->Branch("tr_goodRun", &tr_goodRun, "tr_goodRun/I");
882  tree_->Branch("tr_goodPV", &tr_goodPV, "tr_goodPV/I");
883  tree_->Branch("tr_eventWeight", &tr_eventWeight, "tr_eventWeight/D");
884  tree_->Branch("tr_tr_TrigName", &tr_TrigName);
885  tree_->Branch("tr_TrkPt", &tr_TrkPt);
886  tree_->Branch("tr_TrkP", &tr_TrkP);
887  tree_->Branch("tr_TrkEta", &tr_TrkEta);
888  tree_->Branch("tr_TrkPhi", &tr_TrkPhi);
889  tree_->Branch("tr_TrkID", &tr_TrkID);
890  tree_->Branch("tr_MaxNearP31X31", &tr_MaxNearP31X31);
891  tree_->Branch("tr_MaxNearHcalP7x7", &tr_MaxNearHcalP7x7);
892  tree_->Branch("tr_FE7x7P", &tr_FE7x7P);
893  tree_->Branch("tr_FE11x11P", &tr_FE11x11P);
894  tree_->Branch("tr_FE15x15P", &tr_FE15x15P);
895  tree_->Branch("tr_SE7x7P", &tr_SE7x7P);
896  tree_->Branch("tr_SE11x11P", &tr_SE11x11P);
897  tree_->Branch("tr_SE15x15P", &tr_SE15x15P);
898  tree_->Branch("tr_H3x3", &tr_H3x3);
899  tree_->Branch("tr_H5x5", &tr_H5x5);
900  tree_->Branch("tr_H7x7", &tr_H7x7);
901  tree_->Branch("tr_iEta", &tr_iEta);
902  }
903 }

References doTree_, etaBin_, fs_, h_counter, h_ediff, h_ene1, h_ene2, h_energy, h_eta, h_goodPV, h_goodRun, h_h_pNew, h_HLTAccept, h_HLTCorr, h_maxNearP, h_nHLT, h_nHLTvsRN, h_ntrk, h_numberPV, h_p, h_phi, h_pt, mps_fire::i, dqmiolumiharvest::j, TFileService::make(), nEtaBin_, nGen_, nPBin_, nPVBin_, pBin_, pvBin_, AlCaHLTBitMon_QueryRunRegistry::string, tr_eventWeight, tr_FE11x11P, tr_FE15x15P, tr_FE7x7P, tr_goodPV, tr_goodRun, tr_H3x3, tr_H5x5, tr_H7x7, tr_iEta, tr_MaxNearHcalP7x7, tr_MaxNearP31X31, tr_SE11x11P, tr_SE15x15P, tr_SE7x7P, tr_TrigName, tr_TrkEta, tr_TrkID, tr_TrkP, tr_TrkPhi, tr_TrkPt, and tree_.

◆ beginLuminosityBlock()

virtual void StudyCaloResponse::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 94 of file StudyCaloResponse.cc.

94 {}

◆ beginRun()

void StudyCaloResponse::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 906 of file StudyCaloResponse.cc.

906  {
907  char hname[100], htit[400];
908  edm::LogInfo("IsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " hltconfig.init "
909  << hltConfig_.init(iRun, iSetup, "HLT", changed_);
910  sprintf(hname, "h_HLTAccepts_%i", iRun.run());
911  sprintf(htit, "HLT Accepts for Run No %i", iRun.run());
912  TH1I* hnew = fs_->make<TH1I>(hname, htit, 500, 0, 500);
913  for (int i = 1; i <= 500; ++i)
914  hnew->GetXaxis()->SetBinLabel(i, " ");
915  h_HLTAccepts.push_back(hnew);
916  edm::LogInfo("IsoTrack") << "beginrun " << iRun.run();
917  firstEvent_ = true;
918  changed_ = false;
919 }

References changed_, firstEvent_, fs_, h_HLTAccepts, hltConfig_, mps_fire::i, HLTConfigProvider::init(), TFileService::make(), nRun_, and edm::RunBase::run().

◆ clear()

void StudyCaloResponse::clear ( void  )
private

Definition at line 927 of file StudyCaloResponse.cc.

927  {
928  tr_TrigName.clear();
929  tr_TrkPt.clear();
930  tr_TrkP.clear();
931  tr_TrkEta.clear();
932  tr_TrkPhi.clear();
933  tr_TrkID.clear();
934  tr_MaxNearP31X31.clear();
935  tr_MaxNearHcalP7x7.clear();
936  tr_FE7x7P.clear();
937  tr_FE11x11P.clear();
938  tr_FE15x15P.clear();
939  tr_SE7x7P.clear();
940  tr_SE11x11P.clear();
941  tr_SE15x15P.clear();
942  tr_H3x3.clear();
943  tr_H5x5.clear();
944  tr_H7x7.clear();
945  tr_iEta.clear();
946 }

References tr_FE11x11P, tr_FE15x15P, tr_FE7x7P, tr_H3x3, tr_H5x5, tr_H7x7, tr_iEta, tr_MaxNearHcalP7x7, tr_MaxNearP31X31, tr_SE11x11P, tr_SE15x15P, tr_SE7x7P, tr_TrigName, tr_TrkEta, tr_TrkID, tr_TrkP, tr_TrkPhi, and tr_TrkPt.

Referenced by analyze(), and BeautifulSoup.Tag::setString().

◆ endLuminosityBlock()

virtual void StudyCaloResponse::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 95 of file StudyCaloResponse.cc.

95 {}

◆ endRun()

void StudyCaloResponse::endRun ( edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprivate

Definition at line 922 of file StudyCaloResponse.cc.

922  {
923  ++nRun_;
924  edm::LogInfo("IsoTrack") << "endrun[" << nRun_ << "] " << iRun.run();
925 }

References nRun_, and edm::RunBase::run().

◆ fillDescriptions()

void StudyCaloResponse::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 233 of file StudyCaloResponse.cc.

233  {
234  std::vector<std::string> trig;
235  std::vector<double> weights;
236  std::vector<std::string> newNames = {"HLT", "PixelTracks_Multiplicity", "HLT_Physics_", "HLT_JetE", "HLT_ZeroBias"};
238  desc.add<edm::InputTag>("particleSource", edm::InputTag("genParticles"));
239  desc.addUntracked<int>("verbosity", 0);
240  desc.addUntracked<std::vector<std::string> >("triggers", trig);
241  desc.addUntracked<std::vector<std::string> >("newNames", newNames);
242  desc.addUntracked<std::string>("trackQuality", "highPurity");
243  desc.addUntracked<double>("minTrackPt", 1.0);
244  desc.addUntracked<double>("maxDxyPV", 0.02);
245  desc.addUntracked<double>("maxDzPV", 0.02);
246  desc.addUntracked<double>("maxChi2", 5.0);
247  desc.addUntracked<double>("maxDpOverP", 0.1);
248  desc.addUntracked<int>("minOuterHit", 4);
249  desc.addUntracked<int>("minLayerCrossed", 8);
250  desc.addUntracked<int>("maxInMiss", 0);
251  desc.addUntracked<int>("maxOutMiss", 0);
252  desc.addUntracked<double>("minTrackP", 1.0);
253  desc.addUntracked<double>("maxTrackEta", 2.6);
254  desc.addUntracked<double>("timeMinCutECAL", -500.0);
255  desc.addUntracked<double>("timeMaxCutECAL", 500.0);
256  desc.addUntracked<double>("timeMinCutHCAL", -500.0);
257  desc.addUntracked<double>("timeMaxCutHCAL", 500.0);
258  desc.addUntracked<bool>("isItAOD", false);
259  desc.addUntracked<bool>("vetoTrigger", false);
260  desc.addUntracked<bool>("doTree", false);
261  desc.addUntracked<std::vector<double> >("puWeights", weights);
262  descriptions.add("studyCaloResponse", desc);
263 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), HLT_2018_cff::InputTag, AlCaHLTBitMon_QueryRunRegistry::string, ClusterTask_cfi::trig, and HLT_2018_cff::weights.

◆ fillEnergy()

void StudyCaloResponse::fillEnergy ( int  flag,
int  ieta,
double  p,
double  enEcal1,
double  enHcal1,
double  enEcal2,
double  enHcal2 
)
private

Definition at line 962 of file StudyCaloResponse.cc.

963  {
964  int ip(-1), ie(-1);
965  for (int i = 0; i < nPBin_; ++i) {
966  if (p >= pBin_[i] && p < pBin_[i + 1]) {
967  ip = i;
968  break;
969  }
970  }
971  for (int i = 0; i < nEtaBin_; ++i) {
972  if (ieta >= etaBin_[i] && ieta < etaBin_[i + 1]) {
973  ie = i;
974  break;
975  }
976  }
977  if (ip >= 0 && ie >= 0 && enEcal1 > 0.02 && enHcal1 > 0.1) {
978  h_energy[flag][ip][ie][0]->Fill(enEcal1 / p, tr_eventWeight);
979  h_energy[flag][ip][ie][1]->Fill(enHcal1 / p, tr_eventWeight);
980  h_energy[flag][ip][ie][2]->Fill((enEcal1 + enHcal1) / p, tr_eventWeight);
981  h_energy[flag][ip][ie][3]->Fill(enEcal2 / p, tr_eventWeight);
982  h_energy[flag][ip][ie][4]->Fill(enHcal2 / p, tr_eventWeight);
983  h_energy[flag][ip][ie][5]->Fill((enEcal2 + enHcal2) / p, tr_eventWeight);
984  }
985 }

References etaBin_, RemoveAddSevLevel::flag, h_energy, mps_fire::i, LEDCalibrationChannels::ieta, nEtaBin_, nPBin_, AlCaHLTBitMon_ParallelJobs::p, pBin_, and tr_eventWeight.

Referenced by analyze().

◆ fillIsolation()

void StudyCaloResponse::fillIsolation ( int  i,
double  emaxnearP,
double  eneutIso1,
double  eneutIso2 
)
private

Definition at line 955 of file StudyCaloResponse.cc.

955  {
956  h_maxNearP[i]->Fill(emaxnearP, tr_eventWeight);
957  h_ene1[i]->Fill(eneutIso1, tr_eventWeight);
958  h_ene2[i]->Fill(eneutIso2, tr_eventWeight);
959  h_ediff[i]->Fill(eneutIso2 - eneutIso1, tr_eventWeight);
960 }

References h_ediff, h_ene1, h_ene2, h_maxNearP, mps_fire::i, and tr_eventWeight.

Referenced by analyze().

◆ fillTrack()

void StudyCaloResponse::fillTrack ( int  i,
double  pt,
double  p,
double  eta,
double  phi 
)
private

Definition at line 948 of file StudyCaloResponse.cc.

948  {
949  h_pt[i]->Fill(pt, tr_eventWeight);
950  h_p[i]->Fill(p, tr_eventWeight);
951  h_eta[i]->Fill(eta, tr_eventWeight);
952  h_phi[i]->Fill(phi, tr_eventWeight);
953 }

References PVValHelper::eta, h_eta, h_p, h_phi, h_pt, mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, phi, DiDispStaMuonMonitor_cfi::pt, and tr_eventWeight.

Referenced by analyze().

◆ trackPID()

int StudyCaloResponse::trackPID ( const reco::Track pTrack,
const edm::Handle< reco::GenParticleCollection > &  genParticles 
)
private

Definition at line 999 of file StudyCaloResponse.cc.

1000  {
1001  int id(0);
1002  if (genParticles.isValid()) {
1003  unsigned int indx;
1004  reco::GenParticleCollection::const_iterator p;
1005  double mindR(999.9);
1006  for (p = genParticles->begin(), indx = 0; p != genParticles->end(); ++p, ++indx) {
1007  int pdgId = std::abs(p->pdgId());
1008  int idx = (pdgId == 11) ? 1 : ((pdgId == 211) ? 2 : ((pdgId == 321) ? 3 : ((pdgId == 2212) ? 4 : 0)));
1009  if (idx > 0) {
1010  double dEta = pTrack->eta() - p->momentum().Eta();
1011  double phi1 = pTrack->phi();
1012  double phi2 = p->momentum().Phi();
1013  if (phi1 < 0)
1014  phi1 += 2.0 * M_PI;
1015  if (phi2 < 0)
1016  phi2 += 2.0 * M_PI;
1017  double dPhi = phi1 - phi2;
1018  if (dPhi > M_PI)
1019  dPhi -= 2. * M_PI;
1020  else if (dPhi < -M_PI)
1021  dPhi += 2. * M_PI;
1022  double dR = sqrt(dEta * dEta + dPhi * dPhi);
1023  if (dR < mindR) {
1024  mindR = dR;
1025  id = idx;
1026  }
1027  }
1028  }
1029  }
1030  return id;
1031 }

References funct::abs(), HLT_2018_cff::dEta, HLT_2018_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, reco::TrackBase::eta(), genParticles2HepMC_cfi::genParticles, triggerObjects_cff::id, training_settings::idx, M_PI, AlCaHLTBitMon_ParallelJobs::p, EgammaValidation_cff::pdgId, reco::TrackBase::phi(), and mathSSE::sqrt().

Referenced by analyze().

◆ truncate_str()

std::string StudyCaloResponse::truncate_str ( const std::string &  str)
private

Definition at line 987 of file StudyCaloResponse.cc.

987  {
988  std::string truncated_str(str);
989  int length = str.length();
990  for (int i = 0; i < length - 2; i++) {
991  if (str[i] == '_' && str[i + 1] == 'v' && isdigit(str.at(i + 2))) {
992  int z = i + 1;
993  truncated_str = str.substr(0, z);
994  }
995  }
996  return (truncated_str);
997 }

References mps_fire::i, str, AlCaHLTBitMon_QueryRunRegistry::string, and z.

Referenced by analyze().

Member Data Documentation

◆ changed_

bool StudyCaloResponse::changed_
private

Definition at line 119 of file StudyCaloResponse.cc.

Referenced by beginRun(), and StudyCaloResponse().

◆ doTree_

const bool StudyCaloResponse::doTree_
private

Definition at line 114 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and StudyCaloResponse().

◆ etaBin_

int StudyCaloResponse::etaBin_[nEtaBin_+1]
private

Definition at line 142 of file StudyCaloResponse.cc.

Referenced by beginJob(), fillEnergy(), and StudyCaloResponse().

◆ firstEvent_

bool StudyCaloResponse::firstEvent_
private

Definition at line 119 of file StudyCaloResponse.cc.

Referenced by analyze(), beginRun(), and StudyCaloResponse().

◆ fs_

edm::Service<TFileService> StudyCaloResponse::fs_
private

Definition at line 108 of file StudyCaloResponse.cc.

Referenced by beginJob(), and beginRun().

◆ h_counter

TH1D * StudyCaloResponse::h_counter[8]
private

Definition at line 136 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_ediff

TH1D * StudyCaloResponse::h_ediff[2]
private

Definition at line 139 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillIsolation().

◆ h_ene1

TH1D * StudyCaloResponse::h_ene1[2]
private

Definition at line 139 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillIsolation().

◆ h_ene2

TH1D * StudyCaloResponse::h_ene2[2]
private

Definition at line 139 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillIsolation().

◆ h_energy

TH1D* StudyCaloResponse::h_energy[nPVBin_+8][nPBin_][nEtaBin_][6]
private

Definition at line 140 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillEnergy().

◆ h_eta

TH1D* StudyCaloResponse::h_eta[nGen_+2]
private

Definition at line 137 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillTrack().

◆ h_goodPV

TH1I* StudyCaloResponse::h_goodPV
private

Definition at line 133 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_goodRun

TH1I * StudyCaloResponse::h_goodRun
private

Definition at line 133 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_h_pNew

TH1D * StudyCaloResponse::h_h_pNew[8]
private

Definition at line 137 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_HLTAccept

TH1I * StudyCaloResponse::h_HLTAccept
private

Definition at line 132 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_HLTAccepts

std::vector<TH1I*> StudyCaloResponse::h_HLTAccepts
private

Definition at line 135 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginRun().

◆ h_HLTCorr

TH1I * StudyCaloResponse::h_HLTCorr
private

Definition at line 132 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_maxNearP

TH1D* StudyCaloResponse::h_maxNearP[2]
private

Definition at line 139 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillIsolation().

◆ h_nHLT

TH1I* StudyCaloResponse::h_nHLT
private

Definition at line 132 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_nHLTvsRN

TH2I* StudyCaloResponse::h_nHLTvsRN
private

Definition at line 134 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_ntrk

TH1I* StudyCaloResponse::h_ntrk[2]
private

Definition at line 138 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_numberPV

TH1I * StudyCaloResponse::h_numberPV
private

Definition at line 132 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ h_p

TH1D* StudyCaloResponse::h_p[nGen_+2]
private

Definition at line 136 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillTrack().

◆ h_phi

TH1D * StudyCaloResponse::h_phi[nGen_+2]
private

Definition at line 137 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillTrack().

◆ h_pt

TH1D * StudyCaloResponse::h_pt[nGen_+2]
private

Definition at line 136 of file StudyCaloResponse.cc.

Referenced by beginJob(), and fillTrack().

◆ hltConfig_

HLTConfigProvider StudyCaloResponse::hltConfig_
private

Definition at line 107 of file StudyCaloResponse.cc.

Referenced by beginRun().

◆ HLTNames_

std::vector<std::string> StudyCaloResponse::HLTNames_
private

Definition at line 118 of file StudyCaloResponse.cc.

Referenced by analyze().

◆ isItAOD_

const bool StudyCaloResponse::isItAOD_
private

Definition at line 114 of file StudyCaloResponse.cc.

Referenced by StudyCaloResponse().

◆ maxTrackEta_

const double StudyCaloResponse::maxTrackEta_
private

Definition at line 112 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ minTrackP_

const double StudyCaloResponse::minTrackP_
private

Definition at line 112 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ nEtaBin_

const int StudyCaloResponse::nEtaBin_ = 4
staticprivate

Definition at line 105 of file StudyCaloResponse.cc.

Referenced by beginJob(), fillEnergy(), and StudyCaloResponse().

◆ newNames_

const std::vector<std::string> StudyCaloResponse::newNames_
private

Definition at line 110 of file StudyCaloResponse.cc.

Referenced by analyze().

◆ nGen_

const int StudyCaloResponse::nGen_ = (nPVBin_ + 12)
staticprivate

Definition at line 106 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ nPBin_

const int StudyCaloResponse::nPBin_ = 15
staticprivate

Definition at line 105 of file StudyCaloResponse.cc.

Referenced by beginJob(), fillEnergy(), and StudyCaloResponse().

◆ nPVBin_

const int StudyCaloResponse::nPVBin_ = 4
staticprivate

Definition at line 105 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and StudyCaloResponse().

◆ nRun_

int StudyCaloResponse::nRun_
private

Definition at line 142 of file StudyCaloResponse.cc.

Referenced by analyze(), beginRun(), and endRun().

◆ pBin_

double StudyCaloResponse::pBin_[nPBin_+1]
private

Definition at line 143 of file StudyCaloResponse.cc.

Referenced by beginJob(), fillEnergy(), and StudyCaloResponse().

◆ puWeights_

const std::vector<double> StudyCaloResponse::puWeights_
private

Definition at line 115 of file StudyCaloResponse.cc.

Referenced by analyze().

◆ pvBin_

int StudyCaloResponse::pvBin_[nPVBin_+1]
private

Definition at line 142 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and StudyCaloResponse().

◆ selectionParameters_

spr::trackSelectionParameters StudyCaloResponse::selectionParameters_
private

Definition at line 117 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ theTrackQuality_

const std::string StudyCaloResponse::theTrackQuality_
private

Definition at line 111 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ theTriggerResultsLabel_

const edm::InputTag StudyCaloResponse::theTriggerResultsLabel_
private

Definition at line 116 of file StudyCaloResponse.cc.

Referenced by StudyCaloResponse().

◆ tMaxE_

const double StudyCaloResponse::tMaxE_
private

Definition at line 113 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tMaxH_

const double StudyCaloResponse::tMaxH_
private

Definition at line 113 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tMinE_

const double StudyCaloResponse::tMinE_
private

Definition at line 113 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tMinH_

const double StudyCaloResponse::tMinH_
private

Definition at line 113 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_EB_

edm::EDGetTokenT<EcalRecHitCollection> StudyCaloResponse::tok_EB_
private

Definition at line 127 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_EE_

edm::EDGetTokenT<EcalRecHitCollection> StudyCaloResponse::tok_EE_
private

Definition at line 128 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_ew_

edm::EDGetTokenT<GenEventInfoProduct> StudyCaloResponse::tok_ew_
private

Definition at line 130 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_genTrack_

edm::EDGetTokenT<reco::TrackCollection> StudyCaloResponse::tok_genTrack_
private

Definition at line 125 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_hbhe_

edm::EDGetTokenT<HBHERecHitCollection> StudyCaloResponse::tok_hbhe_
private

Definition at line 129 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_lumi

edm::EDGetTokenT<LumiDetails> StudyCaloResponse::tok_lumi
private

Definition at line 121 of file StudyCaloResponse.cc.

Referenced by StudyCaloResponse().

◆ tok_parts_

edm::EDGetTokenT<reco::GenParticleCollection> StudyCaloResponse::tok_parts_
private

Definition at line 124 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_recVtx_

edm::EDGetTokenT<reco::VertexCollection> StudyCaloResponse::tok_recVtx_
private

Definition at line 126 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_trigEvt

edm::EDGetTokenT<trigger::TriggerEvent> StudyCaloResponse::tok_trigEvt
private

Definition at line 122 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tok_trigRes

edm::EDGetTokenT<edm::TriggerResults> StudyCaloResponse::tok_trigRes
private

Definition at line 123 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ tr_eventWeight

double StudyCaloResponse::tr_eventWeight
private

Definition at line 145 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), fillEnergy(), fillIsolation(), and fillTrack().

◆ tr_FE11x11P

std::vector<double> StudyCaloResponse::tr_FE11x11P
private

Definition at line 150 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_FE15x15P

std::vector<double> StudyCaloResponse::tr_FE15x15P
private

Definition at line 150 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_FE7x7P

std::vector<double> StudyCaloResponse::tr_FE7x7P
private

Definition at line 150 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_goodPV

int StudyCaloResponse::tr_goodPV
private

Definition at line 144 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ tr_goodRun

int StudyCaloResponse::tr_goodRun
private

Definition at line 144 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ tr_H3x3

std::vector<double> StudyCaloResponse::tr_H3x3
private

Definition at line 149 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_H5x5

std::vector<double> StudyCaloResponse::tr_H5x5
private

Definition at line 149 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_H7x7

std::vector<double> StudyCaloResponse::tr_H7x7
private

Definition at line 149 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_iEta

std::vector<int> StudyCaloResponse::tr_iEta
private

Definition at line 152 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_MaxNearHcalP7x7

std::vector<double> StudyCaloResponse::tr_MaxNearHcalP7x7
private

Definition at line 148 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_MaxNearP31X31

std::vector<double> StudyCaloResponse::tr_MaxNearP31X31
private

Definition at line 148 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_SE11x11P

std::vector<bool> StudyCaloResponse::tr_SE11x11P
private

Definition at line 151 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_SE15x15P

std::vector<bool> StudyCaloResponse::tr_SE15x15P
private

Definition at line 151 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_SE7x7P

std::vector<bool> StudyCaloResponse::tr_SE7x7P
private

Definition at line 151 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrigName

std::vector<std::string> StudyCaloResponse::tr_TrigName
private

Definition at line 146 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrkEta

std::vector<double> StudyCaloResponse::tr_TrkEta
private

Definition at line 147 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrkID

std::vector<int> StudyCaloResponse::tr_TrkID
private

Definition at line 152 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrkP

std::vector<double> StudyCaloResponse::tr_TrkP
private

Definition at line 147 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrkPhi

std::vector<double> StudyCaloResponse::tr_TrkPhi
private

Definition at line 147 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tr_TrkPt

std::vector<double> StudyCaloResponse::tr_TrkPt
private

Definition at line 147 of file StudyCaloResponse.cc.

Referenced by analyze(), beginJob(), and clear().

◆ tree_

TTree* StudyCaloResponse::tree_
private

Definition at line 141 of file StudyCaloResponse.cc.

Referenced by analyze(), and beginJob().

◆ triggerEvent_

const edm::InputTag StudyCaloResponse::triggerEvent_
private

Definition at line 116 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ trigNames_

const std::vector<std::string> StudyCaloResponse::trigNames_
private

Definition at line 110 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ verbosity_

const int StudyCaloResponse::verbosity_
private

Definition at line 109 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

◆ vetoTrigger_

const bool StudyCaloResponse::vetoTrigger_
private

Definition at line 114 of file StudyCaloResponse.cc.

Referenced by analyze(), and StudyCaloResponse().

StudyCaloResponse::h_p
TH1D * h_p[nGen_+2]
Definition: StudyCaloResponse.cc:136
spr::trackSelectionParameters::maxDxyPV
double maxDxyPV
Definition: TrackSelection.h:22
StudyCaloResponse::verbosity_
const int verbosity_
Definition: StudyCaloResponse.cc:109
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
StudyCaloResponse::triggerEvent_
const edm::InputTag triggerEvent_
Definition: StudyCaloResponse.cc:116
StudyCaloResponse::nGen_
static const int nGen_
Definition: StudyCaloResponse.cc:106
HLT_2018_cff.weights
weights
Definition: HLT_2018_cff.py:87167
mps_fire.i
i
Definition: mps_fire.py:355
StudyCaloResponse::tr_TrigName
std::vector< std::string > tr_TrigName
Definition: StudyCaloResponse.cc:146
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
StudyCaloResponse::h_ntrk
TH1I * h_ntrk[2]
Definition: StudyCaloResponse.cc:138
StudyCaloResponse::h_ene1
TH1D * h_ene1[2]
Definition: StudyCaloResponse.cc:139
StandaloneTrackMonitor_cfi.trackQuality
trackQuality
Definition: StandaloneTrackMonitor_cfi.py:11
StudyCaloResponse::tree_
TTree * tree_
Definition: StudyCaloResponse.cc:141
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
StudyCaloResponse::tok_genTrack_
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
Definition: StudyCaloResponse.cc:125
edm::Handle::product
T const * product() const
Definition: Handle.h:70
StudyCaloResponse::trackPID
int trackPID(const reco::Track *, const edm::Handle< reco::GenParticleCollection > &)
Definition: StudyCaloResponse.cc:999
spr::trackSelectionParameters::maxDzPV
double maxDzPV
Definition: TrackSelection.h:22
StudyCaloResponse::h_ediff
TH1D * h_ediff[2]
Definition: StudyCaloResponse.cc:139
spr::trackSelectionParameters::maxChi2
double maxChi2
Definition: TrackSelection.h:22
StudyCaloResponse::nPVBin_
static const int nPVBin_
Definition: StudyCaloResponse.cc:105
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
reco::TrackBase::p
double p() const
momentum vector magnitude
Definition: TrackBase.h:605
StudyCaloResponse::fillIsolation
void fillIsolation(int, double, double, double)
Definition: StudyCaloResponse.cc:955
StudyCaloResponse::h_counter
TH1D * h_counter[8]
Definition: StudyCaloResponse.cc:136
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
StudyCaloResponse::h_phi
TH1D * h_phi[nGen_+2]
Definition: StudyCaloResponse.cc:137
StudyCaloResponse::tr_SE15x15P
std::vector< bool > tr_SE15x15P
Definition: StudyCaloResponse.cc:151
StudyCaloResponse::tr_goodRun
int tr_goodRun
Definition: StudyCaloResponse.cc:144
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
StudyCaloResponse::nRun_
int nRun_
Definition: StudyCaloResponse.cc:142
StudyCaloResponse::tr_TrkEta
std::vector< double > tr_TrkEta
Definition: StudyCaloResponse.cc:147
HcalTopology
Definition: HcalTopology.h:26
HLT_2018_cff.eta1
eta1
Definition: HLT_2018_cff.py:8220
edm::LogInfo
Definition: MessageLogger.h:254
reco::GenParticleCollection
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
Definition: GenParticleFwd.h:13
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HLT_2018_cff.etaBins
etaBins
Definition: HLT_2018_cff.py:13873
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
StudyCaloResponse::tok_trigRes
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes
Definition: StudyCaloResponse.cc:123
HLT_2018_cff.pt1
pt1
Definition: HLT_2018_cff.py:8550
reco::TrackBase::TrackQuality
TrackQuality
track quality
Definition: TrackBase.h:150
StudyCaloResponse::tr_H5x5
std::vector< double > tr_H5x5
Definition: StudyCaloResponse.cc:149
StudyCaloResponse::selectionParameters_
spr::trackSelectionParameters selectionParameters_
Definition: StudyCaloResponse.cc:117
StudyCaloResponse::tr_FE7x7P
std::vector< double > tr_FE7x7P
Definition: StudyCaloResponse.cc:150
StudyCaloResponse::fs_
edm::Service< TFileService > fs_
Definition: StudyCaloResponse.cc:108
StudyCaloResponse::tok_EE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
Definition: StudyCaloResponse.cc:128
StudyCaloResponse::h_nHLTvsRN
TH2I * h_nHLTvsRN
Definition: StudyCaloResponse.cc:134
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
StudyCaloResponse::puWeights_
const std::vector< double > puWeights_
Definition: StudyCaloResponse.cc:115
StudyCaloResponse::h_HLTAccept
TH1I * h_HLTAccept
Definition: StudyCaloResponse.cc:132
StudyCaloResponse::tMaxE_
const double tMaxE_
Definition: StudyCaloResponse.cc:113
EcalCondObjectContainer< EcalChannelStatusCode >
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle< trigger::TriggerEvent >
training_settings.idx
idx
Definition: training_settings.py:16
CaloTopology
Definition: CaloTopology.h:19
StudyCaloResponse::clear
void clear()
Definition: StudyCaloResponse.cc:927
HLT_2018_cff.dEta
dEta
Definition: HLT_2018_cff.py:12289
StudyCaloResponse::theTrackQuality_
const std::string theTrackQuality_
Definition: StudyCaloResponse.cc:111
StudyCaloResponse::h_numberPV
TH1I * h_numberPV
Definition: StudyCaloResponse.cc:132
StudyCaloResponse::truncate_str
std::string truncate_str(const std::string &)
Definition: StudyCaloResponse.cc:987
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:608
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
DetId
Definition: DetId.h:17
CaloGeometry
Definition: CaloGeometry.h:21
StudyCaloResponse::tr_MaxNearP31X31
std::vector< double > tr_MaxNearP31X31
Definition: StudyCaloResponse.cc:148
StudyCaloResponse::etaBin_
int etaBin_[nEtaBin_+1]
Definition: StudyCaloResponse.cc:142
StudyCaloResponse::tr_TrkPhi
std::vector< double > tr_TrkPhi
Definition: StudyCaloResponse.cc:147
spr::eECALmatrix
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)
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
spr::chargeIsolationHcal
double chargeIsolationHcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const HcalTopology *topology, int ieta, int iphi, bool debug=false)
Definition: ChargeIsolation.cc:114
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
PVValHelper::eta
Definition: PVValidationHelpers.h:69
StudyCaloResponse::isItAOD_
const bool isItAOD_
Definition: StudyCaloResponse.cc:114
StudyCaloResponse::fillTrack
void fillTrack(int, double, double, double, double)
Definition: StudyCaloResponse.cc:948
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
StudyCaloResponse::tok_EB_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
Definition: StudyCaloResponse.cc:127
DDAxes::z
HLT_2018_cff.dPhi
dPhi
Definition: HLT_2018_cff.py:12290
reco::Track
Definition: Track.h:27
str
#define str(s)
Definition: TestProcessor.cc:48
StudyCaloResponse::h_ene2
TH1D * h_ene2[2]
Definition: StudyCaloResponse.cc:139
edm::ESHandle< CaloGeometry >
EcalSeverityLevelAlgoRcd
Definition: EcalSeverityLevelAlgoRcd.h:12
mix_E10TeV_L13E31_BX432_cfi.Lumi
Lumi
Definition: mix_E10TeV_L13E31_BX432_cfi.py:24
StudyCaloResponse::minTrackP_
const double minTrackP_
Definition: StudyCaloResponse.cc:112
StudyCaloResponse::tMinH_
const double tMinH_
Definition: StudyCaloResponse.cc:113
StudyCaloResponse::tr_TrkP
std::vector< double > tr_TrkP
Definition: StudyCaloResponse.cc:147
spr::trackSelectionParameters::minPt
double minPt
Definition: TrackSelection.h:20
StudyCaloResponse::tok_trigEvt
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt
Definition: StudyCaloResponse.cc:122
spr::trackSelectionParameters::minOuterHit
int minOuterHit
Definition: TrackSelection.h:23
dqmdumpme.k
k
Definition: dqmdumpme.py:60
reco::TrackBase::phi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:620
StudyCaloResponse::h_goodPV
TH1I * h_goodPV
Definition: StudyCaloResponse.cc:133
HcalRecNumberingRecord
Definition: HcalRecNumberingRecord.h:23
spr::trackSelectionParameters::maxDpOverP
double maxDpOverP
Definition: TrackSelection.h:22
StudyCaloResponse::HLTNames_
std::vector< std::string > HLTNames_
Definition: StudyCaloResponse.cc:118
spr::trackSelectionParameters::minLayerCrossed
int minLayerCrossed
Definition: TrackSelection.h:23
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
StudyCaloResponse::tok_lumi
edm::EDGetTokenT< LumiDetails > tok_lumi
Definition: StudyCaloResponse.cc:121
edm::LogWarning
Definition: MessageLogger.h:141
StudyCaloResponse::vetoTrigger_
const bool vetoTrigger_
Definition: StudyCaloResponse.cc:114
StudyCaloResponse::tr_TrkID
std::vector< int > tr_TrkID
Definition: StudyCaloResponse.cc:152
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
StudyCaloResponse::tr_H7x7
std::vector< double > tr_H7x7
Definition: StudyCaloResponse.cc:149
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
StudyCaloResponse::tMaxH_
const double tMaxH_
Definition: StudyCaloResponse.cc:113
StudyCaloResponse::h_h_pNew
TH1D * h_h_pNew[8]
Definition: StudyCaloResponse.cc:137
EcalChannelStatusRcd
Definition: EcalChannelStatusRcd.h:5
StudyCaloResponse::maxTrackEta_
const double maxTrackEta_
Definition: StudyCaloResponse.cc:112
spr::trackSelectionParameters::maxOutMiss
int maxOutMiss
Definition: TrackSelection.h:24
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:623
StudyCaloResponse::nEtaBin_
static const int nEtaBin_
Definition: StudyCaloResponse.cc:105
HcalDetId
Definition: HcalDetId.h:12
createfilelist.int
int
Definition: createfilelist.py:10
StudyCaloResponse::tr_MaxNearHcalP7x7
std::vector< double > tr_MaxNearHcalP7x7
Definition: StudyCaloResponse.cc:148
iEvent
int iEvent
Definition: GenABIO.cc:224
StudyCaloResponse::h_energy
TH1D * h_energy[nPVBin_+8][nPBin_][nEtaBin_][6]
Definition: StudyCaloResponse.cc:140
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
StudyCaloResponse::tok_recVtx_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
Definition: StudyCaloResponse.cc:126
StudyCaloResponse::tr_SE7x7P
std::vector< bool > tr_SE7x7P
Definition: StudyCaloResponse.cc:151
p1
double p1[4]
Definition: TauolaWrapper.h:89
StudyCaloResponse::tMinE_
const double tMinE_
Definition: StudyCaloResponse.cc:113
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:118
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
get
#define get
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
spr::trackSelectionParameters::minQuality
reco::TrackBase::TrackQuality minQuality
Definition: TrackSelection.h:21
StudyCaloResponse::tr_TrkPt
std::vector< double > tr_TrkPt
Definition: StudyCaloResponse.cc:147
ClusterTask_cfi.trig
trig
Definition: ClusterTask_cfi.py:336
StudyCaloResponse::h_maxNearP
TH1D * h_maxNearP[2]
Definition: StudyCaloResponse.cc:139
StudyCaloResponse::tr_H3x3
std::vector< double > tr_H3x3
Definition: StudyCaloResponse.cc:149
StudyCaloResponse::h_HLTCorr
TH1I * h_HLTCorr
Definition: StudyCaloResponse.cc:132
StudyCaloResponse::changed_
bool changed_
Definition: StudyCaloResponse.cc:119
StudyCaloResponse::firstEvent_
bool firstEvent_
Definition: StudyCaloResponse.cc:119
StudyCaloResponse::tr_iEta
std::vector< int > tr_iEta
Definition: StudyCaloResponse.cc:152
photonIsolationHIProducer_cfi.hbhe
hbhe
Definition: photonIsolationHIProducer_cfi.py:8
spr::propagateCALO
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
Definition: CaloPropagateTrack.cc:141
reco::TrackBase::qualityByName
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
DDAxes::phi
StudyCaloResponse::pvBin_
int pvBin_[nPVBin_+1]
Definition: StudyCaloResponse.cc:142
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
StudyCaloResponse::tr_FE15x15P
std::vector< double > tr_FE15x15P
Definition: StudyCaloResponse.cc:150
genParticles2HepMC_cfi.genEventInfo
genEventInfo
Definition: genParticles2HepMC_cfi.py:6
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
qcdUeDQM_cfi.quality
quality
Definition: qcdUeDQM_cfi.py:31
Calorimetry_cff.bField
bField
Definition: Calorimetry_cff.py:292
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
spr::trackSelectionParameters::maxInMiss
int maxInMiss
Definition: TrackSelection.h:24
StudyCaloResponse::fillEnergy
void fillEnergy(int, int, double, double, double, double, double)
Definition: StudyCaloResponse.cc:962
StudyCaloResponse::h_HLTAccepts
std::vector< TH1I * > h_HLTAccepts
Definition: StudyCaloResponse.cc:135
StudyCaloResponse::trigNames_
const std::vector< std::string > trigNames_
Definition: StudyCaloResponse.cc:110
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
edm::TriggerNames
Definition: TriggerNames.h:55
StudyCaloResponse::tok_hbhe_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
Definition: StudyCaloResponse.cc:129
StudyCaloResponse::h_pt
TH1D * h_pt[nGen_+2]
Definition: StudyCaloResponse.cc:136
StudyCaloResponse::tr_FE11x11P
std::vector< double > tr_FE11x11P
Definition: StudyCaloResponse.cc:150
StudyCaloResponse::h_goodRun
TH1I * h_goodRun
Definition: StudyCaloResponse.cc:133
StudyCaloResponse::doTree_
const bool doTree_
Definition: StudyCaloResponse.cc:114
StudyCaloResponse::h_nHLT
TH1I * h_nHLT
Definition: StudyCaloResponse.cc:132
spr::eHCALmatrix
double eHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, bool algoNew=true, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int useRaw=0, bool debug=false)
StudyCaloResponse::nPBin_
static const int nPBin_
Definition: StudyCaloResponse.cc:105
StudyCaloResponse::tr_eventWeight
double tr_eventWeight
Definition: StudyCaloResponse.cc:145
StudyCaloResponse::hltConfig_
HLTConfigProvider hltConfig_
Definition: StudyCaloResponse.cc:107
StudyCaloResponse::h_eta
TH1D * h_eta[nGen_+2]
Definition: StudyCaloResponse.cc:137
StudyCaloResponse::theTriggerResultsLabel_
const edm::InputTag theTriggerResultsLabel_
Definition: StudyCaloResponse.cc:116
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
spr::chargeIsolationEcal
double chargeIsolationEcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, bool debug=false)
Definition: ChargeIsolation.cc:15
StudyCaloResponse::tok_ew_
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
Definition: StudyCaloResponse.cc:130
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
StudyCaloResponse::tr_goodPV
int tr_goodPV
Definition: StudyCaloResponse.cc:144
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:635
StudyCaloResponse::tok_parts_
edm::EDGetTokenT< reco::GenParticleCollection > tok_parts_
Definition: StudyCaloResponse.cc:124
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
MagneticField
Definition: MagneticField.h:19
StudyCaloResponse::pBin_
double pBin_[nPBin_+1]
Definition: StudyCaloResponse.cc:143
reco::TrackBase::quality
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:537
edm::InputTag
Definition: InputTag.h:15
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
StudyCaloResponse::newNames_
const std::vector< std::string > newNames_
Definition: StudyCaloResponse.cc:110
StudyCaloResponse::tr_SE11x11P
std::vector< bool > tr_SE11x11P
Definition: StudyCaloResponse.cc:151
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:116
ValidationMatrix.hlt
hlt
Definition: ValidationMatrix.py:459