CMS 3D CMS Logo

EvtPlaneProducer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: EvtPlaneProducer
4 // Class: EvtPlaneProducer
5 //
13 //
14 // Original Author: Sergey Petrushanko
15 // Created: Fri Jul 11 10:05:00 2008
16 //
17 //
18 
19 // system include files
20 #include <memory>
21 #include <iostream>
22 #include <ctime>
23 #include <cmath>
24 #include <cstdlib>
25 
26 // user include files
31 
36 
41 
44 
48 
59 
64 
70 
71 using namespace std;
72 using namespace hi;
73 
74 //
75 // class decleration
76 //
77 
78 namespace hi {
79  class GenPlane {
80  public:
81  GenPlane(string name, double etaminval1, double etamaxval1, double etaminval2, double etamaxval2, int orderval) {
82  epname = name;
83  etamin1 = etaminval1;
84  etamax1 = etamaxval1;
85  etamin2 = etaminval2;
86  etamax2 = etamaxval2;
87  sumsin = 0;
88  sumcos = 0;
89  sumsinNoWgt = 0;
90  sumcosNoWgt = 0;
91 
92  mult = 0;
93  order = (double)orderval;
94  }
95  ~GenPlane() { ; }
96  void addParticle(double w, double PtOrEt, double s, double c, double eta) {
97  if ((eta >= etamin1 && eta < etamax1) || (etamin2 != etamax2 && eta >= etamin2 && eta < etamax2)) {
98  sumsin += w * s;
99  sumcos += w * c;
100  sumsinNoWgt += s;
101  sumcosNoWgt += c;
102 
103  sumw += fabs(w);
104  sumw2 += w * w;
105  sumPtOrEt += PtOrEt;
106  sumPtOrEt2 += PtOrEt * PtOrEt;
107  ++mult;
108  }
109  }
110 
111  double getAngle(double &ang,
112  double &sv,
113  double &cv,
114  double &svNoWgt,
115  double &cvNoWgt,
116  double &w,
117  double &w2,
118  double &PtOrEt,
119  double &PtOrEt2,
120  uint &epmult) {
121  ang = -10;
122  sv = sumsin;
123  cv = sumcos;
124  svNoWgt = sumsinNoWgt;
125  cvNoWgt = sumcosNoWgt;
126  w = sumw;
127  w2 = sumw2;
128  PtOrEt = sumPtOrEt;
129  PtOrEt2 = sumPtOrEt2;
130  epmult = mult;
131  double q = sv * sv + cv * cv;
132  if (q > 0)
133  ang = atan2(sv, cv) / order;
134  return ang;
135  }
136  void reset() {
137  sumsin = 0;
138  sumcos = 0;
139  sumsinNoWgt = 0;
140  sumcosNoWgt = 0;
141  sumw = 0;
142  sumw2 = 0;
143  mult = 0;
144  sumPtOrEt = 0;
145  sumPtOrEt2 = 0;
146  }
147 
148  private:
149  string epname;
150  double etamin1;
151  double etamax1;
152 
153  double etamin2;
154  double etamax2;
155  double sumsin;
156  double sumcos;
157  double sumsinNoWgt;
158  double sumcosNoWgt;
160  double sumw;
161  double sumw2;
162  double sumPtOrEt;
163  double sumPtOrEt2;
164  double order;
165  };
166 } // namespace hi
167 
169 public:
170  explicit EvtPlaneProducer(const edm::ParameterSet &);
171  ~EvtPlaneProducer() override;
172 
173 private:
175 
176  void produce(edm::Event &, const edm::EventSetup &) override;
177 
178  // ----------member data ---------------------------
180 
184 
187 
191 
196 
200 
209 
214 
215  bool loadDB_;
216  double minet_;
217  double maxet_;
218  double minpt_;
219  double maxpt_;
221  double flatminvtx_;
222  double flatdelvtx_;
223  double dzdzerror_;
224  double d0d0error_;
225  double pterror_;
227  double dzerr_;
229  double chi2_;
233  double nCentBins_;
234  double caloCentRef_;
237  int cutEra_;
240 
243 
244  void fillHF(const TrackStructure &track, double vz, int bin) {
245  double minet = minet_;
246  double maxet = maxet_;
247  for (int i = 0; i < NumEPNames; i++) {
248  if (EPDet[i] != HF)
249  continue;
250  if (minet_ < 0)
251  minet = minTransverse[i];
252  if (maxet_ < 0)
253  maxet = maxTransverse[i];
254  if (track.et < minet)
255  continue;
256  if (track.et > maxet)
257  continue;
258  if (not passEta(track.eta, i))
259  continue;
260  double w = track.et;
261  if (loadDB_)
262  w = track.et * flat[i]->etScale(vz, bin);
263  if (EPOrder[i] == 1) {
264  if (MomConsWeight[i][0] == 'y' && loadDB_) {
265  w = flat[i]->getW(track.et, vz, bin);
266  }
267  }
268  rp[i]->addParticle(w, track.et, sin(EPOrder[i] * track.phi), cos(EPOrder[i] * track.phi), track.eta);
269  }
270  };
271 
272  void fillCastor(const TrackStructure &track, double vz, int bin) {
273  double minet = minet_;
274  double maxet = maxet_;
275  for (int i = 0; i < NumEPNames; i++) {
276  if (EPDet[i] == Castor) {
277  if (minet_ < 0)
278  minet = minTransverse[i];
279  if (maxet_ < 0)
280  maxet = maxTransverse[i];
281  if (track.et < minet)
282  continue;
283  if (track.et > maxet)
284  continue;
285  if (not passEta(track.eta, i))
286  continue;
287  double w = track.et;
288  if (EPOrder[i] == 1) {
289  if (MomConsWeight[i][0] == 'y' && loadDB_) {
290  w = flat[i]->getW(track.et, vz, bin);
291  }
292  }
293  rp[i]->addParticle(w, track.et, sin(EPOrder[i] * track.phi), cos(EPOrder[i] * track.phi), track.eta);
294  }
295  }
296  }
297 
298  bool passEta(float eta, int i) {
299  if (EPEtaMin2[i] == EPEtaMax2[i]) {
300  if (eta < EPEtaMin1[i])
301  return false;
302  if (eta > EPEtaMax1[i])
303  return false;
304  } else {
305  if (eta < EPEtaMin1[i])
306  return false;
307  if (eta > EPEtaMax2[i])
308  return false;
309  if (eta > EPEtaMax1[i] && eta < EPEtaMin2[i])
310  return false;
311  }
312  return true;
313  }
314 
315  void fillTracker(const TrackStructure &track, double vz, int bin) {
316  double minpt = minpt_;
317  double maxpt = maxpt_;
318  for (int i = 0; i < NumEPNames; i++) {
319  if (EPDet[i] == Tracker) {
320  if (minpt_ < 0)
321  minpt = minTransverse[i];
322  if (maxpt_ < 0)
323  maxpt = maxTransverse[i];
324  if (track.pt < minpt)
325  continue;
326  if (track.pt > maxpt)
327  continue;
328  if (not passEta(track.eta, i))
329  continue;
330  double w = track.pt;
331  if (w > 2.5)
332  w = 2.0; //v2 starts decreasing above ~2.5 GeV/c
333  if (EPOrder[i] == 1) {
334  if (MomConsWeight[i][0] == 'y' && loadDB_) {
335  w = flat[i]->getW(track.pt, vz, bin);
336  }
337  }
338  rp[i]->addParticle(w, track.pt, sin(EPOrder[i] * track.phi), cos(EPOrder[i] * track.phi), track.eta);
339  }
340  }
341  };
342 };
343 
345  : centralityVariable_(iConfig.getParameter<std::string>("centralityVariable")),
346  centralityBinTag_(iConfig.getParameter<edm::InputTag>("centralityBinTag")),
347  vertexTag_(iConfig.getParameter<edm::InputTag>("vertexTag")),
348  caloTag_(iConfig.getParameter<edm::InputTag>("caloTag")),
349  castorTag_(iConfig.getParameter<edm::InputTag>("castorTag")),
350  trackTag_(iConfig.getParameter<edm::InputTag>("trackTag")),
351  losttrackTag_(iConfig.getParameter<edm::InputTag>("lostTag")),
352  chi2MapTag_(iConfig.getParameter<edm::InputTag>("chi2MapTag")),
353  chi2MapLostTag_(iConfig.getParameter<edm::InputTag>("chi2MapLostTag")),
354  loadDB_(iConfig.getParameter<bool>("loadDB")),
355  minet_(iConfig.getParameter<double>("minet")),
356  maxet_(iConfig.getParameter<double>("maxet")),
357  minpt_(iConfig.getParameter<double>("minpt")),
358  maxpt_(iConfig.getParameter<double>("maxpt")),
359  flatnvtxbins_(iConfig.getParameter<int>("flatnvtxbins")),
360  flatminvtx_(iConfig.getParameter<double>("flatminvtx")),
361  flatdelvtx_(iConfig.getParameter<double>("flatdelvtx")),
362  dzdzerror_(iConfig.getParameter<double>("dzdzerror")),
363  d0d0error_(iConfig.getParameter<double>("d0d0error")),
364  pterror_(iConfig.getParameter<double>("pterror")),
365  chi2perlayer_(iConfig.getParameter<double>("chi2perlayer")),
366  dzdzerror_pix_(iConfig.getParameter<double>("dzdzerror_pix")),
367  chi2_(iConfig.getParameter<double>("chi2")),
368  nhitsValid_(iConfig.getParameter<int>("nhitsValid")),
369  FlatOrder_(iConfig.getParameter<int>("FlatOrder")),
370  NumFlatBins_(iConfig.getParameter<int>("NumFlatBins")),
371  caloCentRef_(iConfig.getParameter<double>("caloCentRef")),
372  caloCentRefWidth_(iConfig.getParameter<double>("caloCentRefWidth")),
373  CentBinCompression_(iConfig.getParameter<int>("CentBinCompression")),
374  cutEra_(iConfig.getParameter<int>("cutEra"))
375 
376 {
377  if (cutEra_ > 3)
378  throw edm::Exception(edm::errors::Configuration) << "wrong range in cutEra parameter";
379  cuts_ = EPCuts(
381  nCentBins_ = 200.;
382 
383  if (iConfig.exists("nonDefaultGlauberModel")) {
384  centralityMC_ = iConfig.getParameter<std::string>("nonDefaultGlauberModel");
385  }
387 
388  centralityBinToken_ = consumes<int>(centralityBinTag_);
389 
390  vertexToken_ = consumes<std::vector<reco::Vertex>>(vertexTag_);
391 
392  bStrack_packedPFCandidates_ = (trackTag_.label().find("packedPFCandidates") != std::string::npos);
393  bScalo_particleFlow_ = (caloTag_.label().find("particleFlow") != std::string::npos);
395  packedToken_ = consumes<pat::PackedCandidateCollection>(trackTag_);
396  lostToken_ = consumes<pat::PackedCandidateCollection>(losttrackTag_);
397  chi2MapToken_ = consumes<edm::ValueMap<float>>(chi2MapTag_);
398  chi2MapLostToken_ = consumes<edm::ValueMap<float>>(chi2MapLostTag_);
399 
400  } else {
401  if (bScalo_particleFlow_) {
402  caloTokenPF_ = consumes<reco::PFCandidateCollection>(caloTag_);
403  } else {
404  caloToken_ = consumes<CaloTowerCollection>(caloTag_);
405  }
406  castorToken_ = consumes<std::vector<reco::CastorTower>>(castorTag_);
407  trackToken_ = consumes<reco::TrackCollection>(trackTag_);
408  }
409 
410  produces<reco::EvtPlaneCollection>();
411  for (int i = 0; i < NumEPNames; i++) {
413  }
414  for (int i = 0; i < NumEPNames; i++) {
415  flat[i] = new HiEvtPlaneFlatten();
417  }
418 }
419 
421  // do anything here that needs to be done at desctruction time
422  // (e.g. close files, deallocate resources etc.)
423  for (int i = 0; i < NumEPNames; i++) {
424  delete flat[i];
425  }
426 }
427 
428 //
429 // member functions
430 //
431 
432 // ------------ method called to produce the data ------------
434  using namespace edm;
435  using namespace std;
436  using namespace reco;
437  if (hiWatcher_.check(iSetup)) {
438  //
439  //Get Size of Centrality Table
440  //
442  iSetup.get<HeavyIonRcd>().get(centralityLabel_, centDB_);
443  nCentBins_ = centDB_->m_table.size();
444  for (int i = 0; i < NumEPNames; i++) {
445  if (caloCentRef_ > 0) {
446  int minbin = (caloCentRef_ - caloCentRefWidth_ / 2.) * nCentBins_ / 100.;
447  int maxbin = (caloCentRef_ + caloCentRefWidth_ / 2.) * nCentBins_ / 100.;
448  minbin /= CentBinCompression_;
449  maxbin /= CentBinCompression_;
450  if (minbin > 0 && maxbin >= minbin) {
451  if (EPDet[i] == HF || EPDet[i] == Castor)
452  flat[i]->setCaloCentRefBins(minbin, maxbin);
453  }
454  }
455  }
456  }
457  //
458  //Get flattening parameter file.
459  //
460  if (loadDB_ && hirpWatcher_.check(iSetup)) {
461  edm::ESHandle<RPFlatParams> flatparmsDB_;
462  iSetup.get<HeavyIonRPRcd>().get(flatparmsDB_);
463  LoadEPDB db(flatparmsDB_, flat);
464  if (!db.IsSuccess()) {
465  loadDB_ = kFALSE;
466  }
467  }
468  //
469  //Get Centrality
470  //
471  int bin = 0;
472  int cbin = 0;
473  if (loadDB_) {
474  cbin = iEvent.get(centralityBinToken_);
475  bin = cbin / CentBinCompression_;
476  }
477  //
478  //Get Vertex
479  //
480  //best vertex
481  const reco::Vertex &vtx = iEvent.get(vertexToken_)[0];
482  double bestvz = vtx.z();
483  double bestvx = vtx.x();
484  double bestvy = vtx.y();
485  double bestvzError = vtx.zError();
486  math::XYZPoint bestvtx(bestvx, bestvy, bestvz);
487  math::Error<3>::type vtx_cov = vtx.covariance();
488 
489  for (int i = 0; i < NumEPNames; i++)
490  rp[i]->reset();
495  for (int idx = 1; idx < 3; idx++) {
496  if (idx == 1) {
497  iEvent.getByToken(packedToken_, cands);
498  iEvent.getByToken(chi2MapToken_, chi2Map);
499  }
500  if (idx == 2) {
501  iEvent.getByToken(lostToken_, cands);
502  iEvent.getByToken(chi2MapLostToken_, chi2Map);
503  }
504  for (unsigned int i = 0, n = cands->size(); i < n; ++i) {
505  track_ = {};
506  track_.centbin = cbin;
507  const pat::PackedCandidate &pf = (*cands)[i];
508  track_.et = pf.et();
509  track_.eta = pf.eta();
510  track_.phi = pf.phi();
511  track_.pdgid = pf.pdgId();
512  if ((idx == 1) and cuts_.isGoodHF(track_)) {
513  fillHF(track_, bestvz, bin);
514  }
515  if (!pf.hasTrackDetails())
516  continue;
517  const reco::Track &trk = pf.pseudoTrack();
518  track_.highPurity = pf.trackHighPurity();
519  track_.charge = trk.charge();
520  if (!track_.highPurity || track_.charge == 0)
521  continue;
523  track_.eta = trk.eta();
524  track_.phi = trk.phi();
525  track_.pt = trk.pt();
526  track_.ptError = trk.ptError();
528  track_.algos = trk.algo();
529  track_.dz = std::abs(trk.dz(bestvtx));
530  track_.dxy = std::abs(trk.dxy(bestvtx));
531  track_.dzError = std::hypot(trk.dzError(), bestvzError);
532  track_.dxyError = trk.dxyError(bestvtx, vtx_cov);
535  const reco::HitPattern &hit_pattern = trk.hitPattern();
538  if (cuts_.isGoodTrack(track_)) {
539  fillTracker(track_, bestvz, bin);
540  }
541  }
542  }
543  } else {
544  //calorimetry part
545  if (bScalo_particleFlow_) {
546  iEvent.getByToken(caloTokenPF_, calocands);
547  for (unsigned int i = 0, n = calocands->size(); i < n; ++i) {
548  track_ = {};
549  track_.centbin = cbin;
550  const reco::PFCandidate &pf = (*calocands)[i];
551  track_.et = pf.et();
552  track_.eta = pf.eta();
553  track_.phi = pf.phi();
554  track_.pdgid = pf.pdgId();
555  if (cuts_.isGoodHF(track_)) {
556  fillHF(track_, bestvz, bin);
557  }
558  }
559  } else {
560  iEvent.getByToken(caloToken_, caloCollection_);
561  for (const auto &tower : *caloCollection_) {
562  track_.eta = tower.eta();
563  track_.phi = tower.phi();
564  track_.et = tower.emEt() + tower.hadEt();
565  track_.pdgid = 1;
566  if (cuts_.isGoodHF(track_))
567  fillHF(track_, bestvz, bin);
568  }
569  }
570 
571  //Castor part
573  for (const auto &tower : *castorCollection_) {
574  track_.eta = tower.eta();
575  track_.phi = tower.phi();
576  track_.et = tower.et();
577  track_.pdgid = 1;
579  fillCastor(track_, bestvz, bin);
580  }
581  //Tracking part
582  iEvent.getByToken(trackToken_, trackCollection_);
583  for (const auto &trk : *trackCollection_) {
585  track_.charge = trk.charge();
586  if (!track_.highPurity || track_.charge == 0)
587  continue;
588  track_.centbin = cbin;
589  track_.collection = 0;
590  track_.eta = trk.eta();
591  track_.phi = trk.phi();
592  track_.pt = trk.pt();
593  track_.ptError = trk.ptError();
594  track_.numberOfValidHits = trk.numberOfValidHits();
595  track_.algos = trk.algo();
596  track_.dz = std::abs(trk.dz(bestvtx));
597  track_.dxy = std::abs(trk.dxy(bestvtx));
598  track_.dzError = std::hypot(trk.dzError(), bestvzError);
599  track_.dxyError = trk.dxyError(bestvtx, vtx_cov);
602  track_.normalizedChi2 = trk.normalizedChi2();
603  track_.chi2layer = track_.normalizedChi2 / trk.hitPattern().trackerLayersWithMeasurement();
604  if (cuts_.isGoodTrack(track_))
605  fillTracker(track_, bestvz, bin);
606  }
607  }
608 
609  auto evtplaneOutput = std::make_unique<EvtPlaneCollection>();
610 
611  double ang = -10;
612  double sv = 0;
613  double cv = 0;
614  double svNoWgt = 0;
615  double cvNoWgt = 0;
616 
617  double wv = 0;
618  double wv2 = 0;
619  double pe = 0;
620  double pe2 = 0;
621  uint epmult = 0;
622 
623  for (int i = 0; i < NumEPNames; i++) {
624  rp[i]->getAngle(ang, sv, cv, svNoWgt, cvNoWgt, wv, wv2, pe, pe2, epmult);
625  evtplaneOutput->push_back(EvtPlane(i, 0, ang, sv, cv, wv, wv2, pe, pe2, epmult));
626  evtplaneOutput->back().addLevel(3, 0., svNoWgt, cvNoWgt);
627  }
628 
629  iEvent.put(std::move(evtplaneOutput));
630 }
631 
632 //define this as a plug-in
EvtPlaneProducer::rp
GenPlane * rp[NumEPNames]
Definition: EvtPlaneProducer.cc:174
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
EvtPlaneProducer::~EvtPlaneProducer
~EvtPlaneProducer() override
Definition: EvtPlaneProducer.cc:420
RefProd.h
EvtPlaneProducer::castorToken_
edm::EDGetTokenT< std::vector< reco::CastorTower > > castorToken_
Definition: EvtPlaneProducer.cc:198
EvtPlane.h
hi::EPEtaMax1
const std::array< double, NumEPNames > EPEtaMax1
Definition: HiEvtPlaneList.h:56
Handle.h
w2
common ppss p3p6s2 common epss epspn46 common const1 w2
Definition: inclppp.h:1
hi::GenPlane::sumw
double sumw
Definition: EvtPlaneProducer.cc:160
electrons_cff.bool
bool
Definition: electrons_cff.py:366
hi::EPCuts
Definition: EPCuts.h:34
mps_fire.i
i
Definition: mps_fire.py:428
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
reco::TrackBase::ptError
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:754
EvtPlaneProducer::centralityBinTag_
edm::InputTag centralityBinTag_
Definition: EvtPlaneProducer.cc:185
CastorTower.h
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
EvtPlaneProducer::FlatOrder_
int FlatOrder_
Definition: EvtPlaneProducer.cc:231
HiEvtPlaneFlatten::setCaloCentRefBins
void setCaloCentRefBins(const int caloCentRefMinBin, const int caloCentRefMaxBin)
Definition: HiEvtPlaneFlatten.h:139
hi::EPCuts::isGoodHF
bool isGoodHF(const TrackStructure &track) const
Definition: EPCuts.h:54
hi::TrackStructure::collection
int collection
Definition: EPCuts.h:18
hi::TrackStructure::phi
float phi
Definition: EPCuts.h:11
hi::GenPlane::GenPlane
GenPlane(string name, double etaminval1, double etamaxval1, double etaminval2, double etamaxval2, int orderval)
Definition: EvtPlaneProducer.cc:81
edm::ESWatcher< HeavyIonRcd >
hi::GenPlane
Definition: EvtPlaneProducer.cc:79
ESHandle.h
HiEvtPlaneFlatten::getW
double getW(double pt, double vtx, int centbin) const
Definition: HiEvtPlaneFlatten.h:160
EvtPlaneProducer::lostToken_
edm::EDGetTokenT< pat::PackedCandidateCollection > lostToken_
Definition: EvtPlaneProducer.cc:208
cuy.cv
cv
Definition: cuy.py:363
hi::GenPlane::sumw2
double sumw2
Definition: EvtPlaneProducer.cc:161
PFCandidate.h
EvtPlaneProducer::losttrackTag_
edm::InputTag losttrackTag_
Definition: EvtPlaneProducer.cc:203
hi::GenPlane::addParticle
void addParticle(double w, double PtOrEt, double s, double c, double eta)
Definition: EvtPlaneProducer.cc:96
edm::EDGetTokenT< int >
hi::TrackStructure::dxyError
float dxyError
Definition: EPCuts.h:22
edm
HLT enums.
Definition: AlignableModifier.h:19
hi::TrackStructure::dxy
float dxy
Definition: EPCuts.h:20
CentralityTable.h
HiEvtPlaneFlatten
Definition: HiEvtPlaneFlatten.h:27
EvtPlaneProducer::maxpt_
double maxpt_
Definition: EvtPlaneProducer.cc:219
LoadEPDB
Definition: LoadEPDB.h:28
EvtPlaneProducer::flatdelvtx_
double flatdelvtx_
Definition: EvtPlaneProducer.cc:222
EvtPlaneProducer::dzdzerror_pix_
double dzdzerror_pix_
Definition: EvtPlaneProducer.cc:228
EvtPlaneProducer::dzerr_
double dzerr_
Definition: EvtPlaneProducer.cc:227
hi::GenPlane::epname
string epname
Definition: EvtPlaneProducer.cc:149
HeavyIonRPRcd
Definition: HeavyIonRPRcd.h:24
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
hi::TrackStructure::dxySig
float dxySig
Definition: EPCuts.h:26
hi::TrackStructure::chi2layer
float chi2layer
Definition: EPCuts.h:29
hgcalTowerProducer_cfi.tower
tower
Definition: hgcalTowerProducer_cfi.py:4
hi::GenPlane::sumsinNoWgt
double sumsinNoWgt
Definition: EvtPlaneProducer.cc:157
EvtPlaneProducer::loadDB_
bool loadDB_
Definition: EvtPlaneProducer.cc:215
hi::EPNames
const std::array< std::string, NumEPNames > EPNames
Definition: HiEvtPlaneList.h:30
EvtPlaneProducer::minet_
double minet_
Definition: EvtPlaneProducer.cc:216
EDProducer.h
hi::EPCuts::isGoodTrack
bool isGoodTrack(const TrackStructure &track) const
Definition: EPCuts.h:64
EvtPlaneProducer::trackTag_
edm::InputTag trackTag_
Definition: EvtPlaneProducer.cc:201
hi::TrackStructure::dzSig
float dzSig
Definition: EPCuts.h:25
HeavyIonRPRcd.h
hi::EPEtaMin1
const std::array< double, NumEPNames > EPEtaMin1
Definition: HiEvtPlaneList.h:50
gpuVertexFinder::wv
float *__restrict__ wv
Definition: gpuFitVertices.h:27
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
hi::EPOrder
const std::array< int, NumEPNames > EPOrder
Definition: HiEvtPlaneList.h:44
hi::TrackStructure::algos
int algos
Definition: EPCuts.h:17
edm::Handle
Definition: AssociativeIterator.h:50
reco::TrackBase::numberOfValidHits
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:798
HiEvtPlane_cfi.minpt
minpt
Definition: HiEvtPlane_cfi.py:17
parallelization.uint
uint
Definition: parallelization.py:124
reco::TrackBase::dxyError
double dxyError() const
error on dxy
Definition: TrackBase.h:769
EvtPlaneProducer::nhitsValid_
int nhitsValid_
Definition: EvtPlaneProducer.cc:230
EvtPlaneProducer::hiWatcher_
edm::ESWatcher< HeavyIonRcd > hiWatcher_
Definition: EvtPlaneProducer.cc:241
HiEvtPlane_cfi.minet
minet
Definition: HiEvtPlane_cfi.py:15
EvtPlaneProducer::passEta
bool passEta(float eta, int i)
Definition: EvtPlaneProducer.cc:298
EvtPlaneProducer::caloTag_
edm::InputTag caloTag_
Definition: EvtPlaneProducer.cc:192
hi::TrackStructure::dzError
float dzError
Definition: EPCuts.h:21
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
hi::EPEtaMax2
const std::array< double, NumEPNames > EPEtaMax2
Definition: HiEvtPlaneList.h:68
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
align::Tracker
Definition: StructureType.h:70
EvtPlaneProducer::track_
TrackStructure track_
Definition: EvtPlaneProducer.cc:239
hi::TrackStructure::eta
float eta
Definition: EPCuts.h:10
HeavyIonRcd.h
EvtPlaneProducer::flat
HiEvtPlaneFlatten * flat[NumEPNames]
Definition: EvtPlaneProducer.cc:238
dqmiodatasetharvest.db
db
Definition: dqmiodatasetharvest.py:119
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:637
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
MakerMacros.h
alignCSCRings.s
s
Definition: alignCSCRings.py:92
reco::HitPattern
Definition: HitPattern.h:147
EvtPlaneProducer::chi2_
double chi2_
Definition: EvtPlaneProducer.cc:229
EvtPlaneProducer::caloCentRefWidth_
double caloCentRefWidth_
Definition: EvtPlaneProducer.cc:235
EvtPlaneProducer::centralityLabel_
std::string centralityLabel_
Definition: EvtPlaneProducer.cc:182
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Track.h
hi::GenPlane::reset
void reset()
Definition: EvtPlaneProducer.cc:136
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
TrackFwd.h
EvtPlaneProducer::centralityVariable_
std::string centralityVariable_
Definition: EvtPlaneProducer.cc:181
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
reco::HitPattern::trackerLayersWithMeasurement
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:510
hi::TrackStructure
Definition: EPCuts.h:8
Service.h
PVValHelper::eta
Definition: PVValidationHelpers.h:70
w
const double w
Definition: UKUtility.cc:23
EvtPlaneProducer::centralityMC_
std::string centralityMC_
Definition: EvtPlaneProducer.cc:183
EvtPlaneProducer::pterror_
double pterror_
Definition: EvtPlaneProducer.cc:225
EvtPlaneProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: EvtPlaneProducer.cc:433
pfDeepBoostedJetPreprocessParams_cfi.sv
sv
Definition: pfDeepBoostedJetPreprocessParams_cfi.py:352
CentralityTable::m_table
std::vector< CBin > m_table
Definition: CentralityTable.h:39
reco::Track
Definition: Track.h:27
edm::ESHandle< CentralityTable >
hi::TrackStructure::pdgid
int pdgid
Definition: EPCuts.h:15
EvtPlaneProducer::nCentBins_
double nCentBins_
Definition: EvtPlaneProducer.cc:233
EvtPlaneProducer::CentBinCompression_
int CentBinCompression_
Definition: EvtPlaneProducer.cc:236
hi::GenPlane::order
double order
Definition: EvtPlaneProducer.cc:164
EvtPlaneProducer::vertexTag_
edm::InputTag vertexTag_
Definition: EvtPlaneProducer.cc:188
EvtPlaneProducer::chi2MapToken_
edm::EDGetTokenT< edm::ValueMap< float > > chi2MapToken_
Definition: EvtPlaneProducer.cc:211
reco::TrackBase::charge
int charge() const
track electric charge
Definition: TrackBase.h:596
reco::TrackBase::dz
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:622
hi::GenPlane::~GenPlane
~GenPlane()
Definition: EvtPlaneProducer.cc:95
EvtPlaneProducer::d0d0error_
double d0d0error_
Definition: EvtPlaneProducer.cc:224
reco::TrackBase::phi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:649
HiEvtPlaneFlatten::etScale
double etScale(double vtx, int centbin) const
Definition: HiEvtPlaneFlatten.h:144
Castor
EvtPlaneProducer::caloToken_
edm::EDGetTokenT< CaloTowerCollection > caloToken_
Definition: EvtPlaneProducer.cc:193
hi::TrackStructure::centbin
int centbin
Definition: EPCuts.h:9
EvtPlaneProducer::minpt_
double minpt_
Definition: EvtPlaneProducer.cc:218
hi::GenPlane::mult
uint mult
Definition: EvtPlaneProducer.cc:159
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
HLT_FULL_cff.cands
cands
Definition: HLT_FULL_cff.py:15161
EvtPlaneProducer::castorCollection_
edm::Handle< std::vector< reco::CastorTower > > castorCollection_
Definition: EvtPlaneProducer.cc:199
hi::GenPlane::sumsin
double sumsin
Definition: EvtPlaneProducer.cc:155
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
RefVector.h
Event.h
EvtPlaneProducer::fillHF
void fillHF(const TrackStructure &track, double vz, int bin)
Definition: EvtPlaneProducer.cc:244
hi::TrackStructure::ptError
float ptError
Definition: EPCuts.h:23
EvtPlaneProducer
Definition: EvtPlaneProducer.cc:168
EvtPlaneProducer::fillTracker
void fillTracker(const TrackStructure &track, double vz, int bin)
Definition: EvtPlaneProducer.cc:315
hi::GenPlane::sumcos
double sumcos
Definition: EvtPlaneProducer.cc:156
EvtPlaneProducer::trackToken_
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: EvtPlaneProducer.cc:202
hi::GenPlane::etamax1
double etamax1
Definition: EvtPlaneProducer.cc:151
pat::PackedCandidate
Definition: PackedCandidate.h:22
EvtPlaneProducer::caloTokenPF_
edm::EDGetTokenT< reco::PFCandidateCollection > caloTokenPF_
Definition: EvtPlaneProducer.cc:195
PackedCandidate.h
hi::GenPlane::etamax2
double etamax2
Definition: EvtPlaneProducer.cc:154
reco::EvtPlane
Definition: EvtPlane.h:20
hi::GenPlane::sumPtOrEt
double sumPtOrEt
Definition: EvtPlaneProducer.cc:162
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
hi::TrackStructure::highPurity
bool highPurity
Definition: EPCuts.h:24
eventshapeDQM_cfi.order
order
Definition: eventshapeDQM_cfi.py:8
LoadEPDB.h
reco::TrackBase::dzError
double dzError() const
error on dz
Definition: TrackBase.h:778
hi::TrackStructure::normalizedChi2
float normalizedChi2
Definition: EPCuts.h:27
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
hi::GenPlane::etamin2
double etamin2
Definition: EvtPlaneProducer.cc:153
EvtPlaneProducer::centralityBinToken_
edm::EDGetTokenT< int > centralityBinToken_
Definition: EvtPlaneProducer.cc:186
hi::GenPlane::sumcosNoWgt
double sumcosNoWgt
Definition: EvtPlaneProducer.cc:158
edm::stream::EDProducer
Definition: EDProducer.h:36
hi::TrackStructure::numberOfValidHits
int numberOfValidHits
Definition: EPCuts.h:30
EvtPlaneProducer::dzdzerror_
double dzdzerror_
Definition: EvtPlaneProducer.cc:223
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
edm::EventSetup
Definition: EventSetup.h:58
EvtPlaneProducer::hirpWatcher_
edm::ESWatcher< HeavyIonRPRcd > hirpWatcher_
Definition: EvtPlaneProducer.cc:242
EPCuts.h
hi::MomConsWeight
const std::array< std::string, NumEPNames > MomConsWeight
Definition: HiEvtPlaneList.h:92
HiEvtPlaneList.h
EvtPlaneProducer::bScalo_particleFlow_
bool bScalo_particleFlow_
Definition: EvtPlaneProducer.cc:206
get
#define get
hi::TrackStructure::pt
float pt
Definition: EPCuts.h:13
EvtPlaneProducer::caloCollection_
edm::Handle< CaloTowerCollection > caloCollection_
Definition: EvtPlaneProducer.cc:194
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
hi::TrackStructure::dz
float dz
Definition: EPCuts.h:19
hi::EPDet
const std::array< int, NumEPNames > EPDet
Definition: HiEvtPlaneList.h:38
CaloTowerCollection.h
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
reco::TrackBase::algo
TrackAlgorithm algo() const
Definition: TrackBase.h:547
VertexFwd.h
EvtPlaneProducer::cutEra_
int cutEra_
Definition: EvtPlaneProducer.cc:237
hi
Definition: EPCuts.h:4
reco::TrackBase::hitPattern
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:504
EvtPlaneProducer::chi2MapLostTag_
edm::InputTag chi2MapLostTag_
Definition: EvtPlaneProducer.cc:212
hi::EPCuts::isGoodCastor
bool isGoodCastor(const TrackStructure &track) const
Definition: EPCuts.h:62
EvtPlaneProducer::cuts_
EPCuts cuts_
Definition: EvtPlaneProducer.cc:179
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
Ref.h
EvtPlaneProducer::vertex_
edm::Handle< std::vector< reco::Vertex > > vertex_
Definition: EvtPlaneProducer.cc:190
EvtPlaneProducer::caloCentRef_
double caloCentRef_
Definition: EvtPlaneProducer.cc:234
HiEvtPlane_cfi.maxpt
maxpt
Definition: HiEvtPlane_cfi.py:18
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:19
RecoChargedCandidate.h
Vertex.h
Frameworkfwd.h
packedPFCandidateRefMixer_cfi.pf
pf
Definition: packedPFCandidateRefMixer_cfi.py:4
ESWatcher.h
hi::GenPlane::getAngle
double getAngle(double &ang, double &sv, double &cv, double &svNoWgt, double &cvNoWgt, double &w, double &w2, double &PtOrEt, double &PtOrEt2, uint &epmult)
Definition: EvtPlaneProducer.cc:111
EvtPlaneProducer::castorTag_
edm::InputTag castorTag_
Definition: EvtPlaneProducer.cc:197
math::Error::type
ErrorD< N >::type type
Definition: Error.h:32
Exception
Definition: hltDiff.cc:245
hi::EPEtaMin2
const std::array< double, NumEPNames > EPEtaMin2
Definition: HiEvtPlaneList.h:62
hi::minTransverse
const std::array< double, NumEPNames > minTransverse
Definition: HiEvtPlaneList.h:74
EvtPlaneProducer::flatnvtxbins_
int flatnvtxbins_
Definition: EvtPlaneProducer.cc:220
EvtPlaneProducer::NumFlatBins_
int NumFlatBins_
Definition: EvtPlaneProducer.cc:232
Point3D.h
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup.h
hi::maxTransverse
const std::array< double, NumEPNames > maxTransverse
Definition: HiEvtPlaneList.h:80
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalRecHitCollections.h
VarParsing.mult
mult
Definition: VarParsing.py:658
EvtPlaneProducer::chi2MapLostToken_
edm::EDGetTokenT< edm::ValueMap< float > > chi2MapLostToken_
Definition: EvtPlaneProducer.cc:213
EvtPlaneProducer::chi2MapTag_
edm::InputTag chi2MapTag_
Definition: EvtPlaneProducer.cc:210
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
reset
void reset(double vett[256])
Definition: TPedValues.cc:11
EvtPlaneProducer::chi2perlayer_
double chi2perlayer_
Definition: EvtPlaneProducer.cc:226
hi::NumEPNames
static const int NumEPNames
Definition: HiEvtPlaneList.h:28
EvtPlaneProducer::maxet_
double maxet_
Definition: EvtPlaneProducer.cc:217
Candidate.h
EvtPlaneProducer::trackCollection_
edm::Handle< reco::TrackCollection > trackCollection_
Definition: EvtPlaneProducer.cc:204
HiEvtPlaneFlatten::init
void init(int order, int nbins, int nvtxbins=10, double minvtx=-25, double delvtx=5, std::string tag="", int vord=2)
Definition: HiEvtPlaneFlatten.h:35
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HeavyIonRcd
Definition: HeavyIonRcd.h:24
ParameterSet.h
EvtPlaneProducer::fillCastor
void fillCastor(const TrackStructure &track, double vz, int bin)
Definition: EvtPlaneProducer.cc:272
EvtPlaneProducer::vertexToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
Definition: EvtPlaneProducer.cc:189
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
hi::GenPlane::etamin1
double etamin1
Definition: EvtPlaneProducer.cc:150
hi::GenPlane::sumPtOrEt2
double sumPtOrEt2
Definition: EvtPlaneProducer.cc:163
edm::Event
Definition: Event.h:73
EvtPlaneProducer::EvtPlaneProducer
EvtPlaneProducer(const edm::ParameterSet &)
Definition: EvtPlaneProducer.cc:344
RPFlatParams.h
DigiToRawDM_cff.HF
HF
Definition: DigiToRawDM_cff.py:22
RecoChargedCandidateFwd.h
reco::TrackBase::dxy
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:608
edm::errors::Configuration
Definition: EDMException.h:36
EvtPlaneProducer::packedToken_
edm::EDGetTokenT< pat::PackedCandidateCollection > packedToken_
Definition: EvtPlaneProducer.cc:207
edm::InputTag
Definition: InputTag.h:15
hi::TrackStructure::charge
int charge
Definition: EPCuts.h:14
reco::Vertex
Definition: Vertex.h:35
EvtPlaneProducer::bStrack_packedPFCandidates_
bool bStrack_packedPFCandidates_
Definition: EvtPlaneProducer.cc:205
HiEvtPlane_cfi.maxet
maxet
Definition: HiEvtPlane_cfi.py:16
HiEvtPlaneFlatten.h
hi::TrackStructure::et
float et
Definition: EPCuts.h:12
EvtPlaneProducer::flatminvtx_
double flatminvtx_
Definition: EvtPlaneProducer.cc:221
pat::PackedCandidateRef
edm::Ref< pat::PackedCandidateCollection > PackedCandidateRef
Definition: PackedCandidate.h:1132
reco::TrackBase::highPurity
Definition: TrackBase.h:154