CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TauValidation Class Reference

#include <TauValidation.h>

Inheritance diagram for TauValidation:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

enum  {
  undetermined, electron, muon, pi,
  rho, a1, K, Kstar,
  pi1pi0, pinpi0, tripi, tripinpi0,
  stable
}
 
enum  {
  other, B, D, gamma,
  Z, W, HSM, H0,
  A0, Hpm
}
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &r, const edm::EventSetup &c) override
 
 TauValidation (const edm::ParameterSet &)
 
 ~TauValidation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

void countParticles (const reco::GenParticle *p, int &allCount, int &eCount, int &muCount, int &pi0Count, int &piCount, int &rhoCount, int &a1Count, int &KCount, int &KstarCount)
 
void findFSRandBrem (const reco::GenParticle *p, bool doBrem, std::vector< const reco::GenParticle * > &ListofFSR, std::vector< const reco::GenParticle * > &ListofBrem)
 
int findMother (const reco::GenParticle *)
 
void FindPhotosFSR (const reco::GenParticle *p, std::vector< const reco::GenParticle * > &ListofFSR, double &BosonScale)
 
void findTauList (const reco::GenParticle *tau, std::vector< const reco::GenParticle * > &TauList)
 
const reco::GenParticleGetMother (const reco::GenParticle *tau)
 
const std::vector< const reco::GenParticle * > GetMothers (const reco::GenParticle *boson)
 
bool isLastTauinChain (const reco::GenParticle *tau)
 
double leadingPionMomentum (const reco::GenParticle *, double weight)
 
TLorentzVector leadingPionP4 (const reco::GenParticle *)
 
TLorentzVector motherP4 (const reco::GenParticle *)
 
void photons (const reco::GenParticle *, double weight)
 
void spinEffectsWHpm (const reco::GenParticle *, int, int, std::vector< const reco::GenParticle * > &part, double weight)
 
void spinEffectsZH (const reco::GenParticle *boson, double weight)
 
int tauDecayChannel (const reco::GenParticle *tau, int jak_id, unsigned int TauBitMask, double weight)
 
int tauMother (const reco::GenParticle *, double weight)
 
int tauProngs (const reco::GenParticle *, double weight)
 
double visibleTauEnergy (const reco::GenParticle *)
 
double Zstoa (double zs)
 

Private Attributes

MonitorElementDecayLength
 
edm::ESHandle< HepPDT::ParticleDataTablefPDGTable
 PDT table. More...
 
edm::InputTag genparticleCollection_
 
edm::EDGetTokenT< reco::GenParticleCollectiongenparticleCollectionToken_
 
MonitorElementLifeTime
 
MonitorElementMODEID
 
std::vector< std::vector< MonitorElement * > > MODEInvMass
 
unsigned int NMODEID
 
MonitorElementnPrimeTaus
 
MonitorElementnTaus
 
MonitorElementTauBremPhotonsN
 
MonitorElementTauBremPhotonsPt
 
MonitorElementTauBremPhotonsPtSum
 
MonitorElementTauDecayChannels
 
MonitorElementTauEta
 
MonitorElementTauFSRPhotonsN
 
MonitorElementTauFSRPhotonsPt
 
MonitorElementTauFSRPhotonsPtSum
 
MonitorElementTauMothers
 
MonitorElementTauPhi
 
MonitorElementTauProngs
 
MonitorElementTauPt
 
MonitorElementTauSpinEffectsH_eX
 
MonitorElementTauSpinEffectsH_muX
 
MonitorElementTauSpinEffectsH_MVis
 
MonitorElementTauSpinEffectsH_pipiAcollinearity
 
MonitorElementTauSpinEffectsH_pipiAcollinearityzoom
 
MonitorElementTauSpinEffectsH_pipiAcoplanarity
 
MonitorElementTauSpinEffectsH_rhorhoAcoplanarityminus
 
MonitorElementTauSpinEffectsH_rhorhoAcoplanarityplus
 
MonitorElementTauSpinEffectsH_X
 
MonitorElementTauSpinEffectsH_Xb
 
MonitorElementTauSpinEffectsH_Xf
 
MonitorElementTauSpinEffectsH_Zs
 
MonitorElementTauSpinEffectsHpm_eX
 
MonitorElementTauSpinEffectsHpm_muX
 
MonitorElementTauSpinEffectsHpm_UpsilonA1
 
MonitorElementTauSpinEffectsHpm_UpsilonRho
 
MonitorElementTauSpinEffectsHpm_X
 
MonitorElementTauSpinEffectsW_eX
 
MonitorElementTauSpinEffectsW_muX
 
MonitorElementTauSpinEffectsW_UpsilonA1
 
MonitorElementTauSpinEffectsW_UpsilonRho
 
MonitorElementTauSpinEffectsW_X
 
MonitorElementTauSpinEffectsZ_eX
 
MonitorElementTauSpinEffectsZ_muX
 
MonitorElementTauSpinEffectsZ_MVis
 
MonitorElementTauSpinEffectsZ_X
 
MonitorElementTauSpinEffectsZ_X100to120
 
MonitorElementTauSpinEffectsZ_X120UP
 
MonitorElementTauSpinEffectsZ_X50to75
 
MonitorElementTauSpinEffectsZ_X75to88
 
MonitorElementTauSpinEffectsZ_X88to100
 
MonitorElementTauSpinEffectsZ_Xb
 
MonitorElementTauSpinEffectsZ_Xf
 
MonitorElementTauSpinEffectsZ_Zs
 
int zsbins
 
double zsmax
 
double zsmin
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 25 of file TauValidation.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
undetermined 
electron 
muon 
pi 
rho 
a1 
Kstar 
pi1pi0 
pinpi0 
tripi 
tripinpi0 
stable 

Definition at line 28 of file TauValidation.h.

◆ anonymous enum

anonymous enum
Enumerator
other 
gamma 
HSM 
H0 
A0 
Hpm 

Definition at line 30 of file TauValidation.h.

30 { other, B, D, gamma, Z, W, HSM, H0, A0, Hpm };

Constructor & Destructor Documentation

◆ TauValidation()

TauValidation::TauValidation ( const edm::ParameterSet iPSet)
explicit

Definition at line 18 of file TauValidation.cc.

19  : // wmanager_(iPSet,consumesCollector())
20  genparticleCollection_(iPSet.getParameter<edm::InputTag>("genparticleCollection")),
21  NMODEID(TauDecay::NMODEID - 1), // fortran to C++ index
22  zsbins(20),
23  zsmin(-0.5),
24  zsmax(0.5) {
25  genparticleCollectionToken_ = consumes<reco::GenParticleCollection>(genparticleCollection_);
26 }

References genparticleCollection_, and genparticleCollectionToken_.

◆ ~TauValidation()

TauValidation::~TauValidation ( )
override

Definition at line 28 of file TauValidation.cc.

28 {}

Member Function Documentation

◆ analyze()

void TauValidation::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overridevirtual

Gathering the reco::GenParticleCollection information

Reimplemented from DQMEDAnalyzer.

Definition at line 368 of file TauValidation.cc.

368  {
372 
373  double weight = 1.0; //= wmanager_.weight(iEvent);
375  // find taus
376  for (reco::GenParticleCollection::const_iterator iter = genParticles->begin(); iter != genParticles->end(); ++iter) {
377  if (abs(iter->pdgId()) == PdtPdgMini::Z0 || abs(iter->pdgId()) == PdtPdgMini::Higgs0) {
378  spinEffectsZH(&(*iter), weight);
379  }
380  if (abs(iter->pdgId()) == 15) {
381  if (isLastTauinChain(&(*iter))) {
382  nTaus->Fill(0.5, weight);
383  int mother = tauMother(&(*iter), weight);
384  if (mother > -1) { // exclude B, D and other non-signal decay modes
385  nPrimeTaus->Fill(0.5, weight);
386  TauPt->Fill(iter->pt(), weight);
387  TauEta->Fill(iter->eta(), weight);
388  TauPhi->Fill(iter->phi(), weight);
389  photons(&(*iter), weight);
391  // Adding MODEID and Mass information
393  unsigned int jak_id, TauBitMask;
394  if (TD.AnalyzeTau(&(*iter), jak_id, TauBitMask, false, false)) {
395  MODEID->Fill(jak_id, weight);
396  TauProngs->Fill(TD.nProng(TauBitMask), weight);
397  tauDecayChannel(&(*iter), jak_id, TauBitMask, weight);
398  if (jak_id <= NMODEID) {
399  int tcharge = iter->pdgId() / abs(iter->pdgId());
400  std::vector<const reco::GenParticle *> part = TD.Get_TauDecayProducts();
401  spinEffectsWHpm(&(*iter), mother, jak_id, part, weight);
402  TLorentzVector LVQ(0, 0, 0, 0);
403  TLorentzVector LVS12(0, 0, 0, 0);
404  TLorentzVector LVS13(0, 0, 0, 0);
405  TLorentzVector LVS23(0, 0, 0, 0);
406  bool haspart1 = false;
407  TVector3 PV, SV;
408  bool hasDL(false);
409  for (unsigned int i = 0; i < part.size(); i++) {
410  if (abs(part.at(i)->pdgId()) != PdtPdgMini::nu_tau && TD.isTauFinalStateParticle(part.at(i)->pdgId()) &&
411  !hasDL) {
412  hasDL = true;
413  TLorentzVector tlv(iter->px(), iter->py(), iter->pz(), iter->energy());
414  PV = TVector3(iter->vx(), iter->vy(), iter->vz());
415  SV = TVector3(part.at(i)->vx(), part.at(i)->vy(), part.at(i)->vz());
416  TVector3 DL = SV - PV;
417  DecayLength->Fill(DL.Dot(tlv.Vect()) / tlv.P(), weight);
418  double c(2.99792458E8), Ltau(DL.Mag() / 100) /*cm->m*/, beta(iter->p() / iter->mass());
419  LifeTime->Fill(Ltau / (c * beta), weight);
420  }
421 
422  if (TD.isTauFinalStateParticle(part.at(i)->pdgId()) && abs(part.at(i)->pdgId()) != PdtPdgMini::nu_e &&
423  abs(part.at(i)->pdgId()) != PdtPdgMini::nu_mu && abs(part.at(i)->pdgId()) != PdtPdgMini::nu_tau) {
424  TLorentzVector LV(part.at(i)->px(), part.at(i)->py(), part.at(i)->pz(), part.at(i)->energy());
425  LVQ += LV;
426  if (jak_id == TauDecay::MODE_3PI || jak_id == TauDecay::MODE_PI2PI0 ||
427  jak_id == TauDecay::MODE_KPIK || jak_id == TauDecay::MODE_KPIPI) {
428  if ((tcharge == part.at(i)->pdgId() / abs(part.at(i)->pdgId()) && TD.nProng(TauBitMask) == 3) ||
429  ((jak_id == TauDecay::MODE_3PI || jak_id == TauDecay::MODE_PI2PI0) &&
430  TD.nProng(TauBitMask) == 1 && abs(part.at(i)->pdgId()) == PdtPdgMini::pi_plus)) {
431  LVS13 += LV;
432  LVS23 += LV;
433  } else {
434  LVS12 += LV;
435  if (!haspart1 && ((jak_id == TauDecay::MODE_3PI || jak_id == TauDecay::MODE_PI2PI0) ||
436  ((jak_id != TauDecay::MODE_3PI || jak_id == TauDecay::MODE_PI2PI0) &&
437  abs(part.at(i)->pdgId()) == PdtPdgMini::K_plus))) {
438  LVS13 += LV;
439  haspart1 = true;
440  } else {
441  LVS23 += LV;
442  }
443  }
444  }
445  }
446  }
447  part.clear();
448  MODEInvMass.at(jak_id).at(0)->Fill(LVQ.M(), weight);
449  if (jak_id == TauDecay::MODE_3PI || jak_id == TauDecay::MODE_PI2PI0 || jak_id == TauDecay::MODE_KPIK ||
450  jak_id == TauDecay::MODE_KPIPI) {
451  MODEInvMass.at(jak_id).at(1)->Fill(LVS13.M(), weight);
452  MODEInvMass.at(jak_id).at(2)->Fill(LVS23.M(), weight);
453  MODEInvMass.at(jak_id).at(3)->Fill(LVS12.M(), weight);
454  }
455  }
456  } else {
457  MODEID->Fill(jak_id, weight);
458  }
459  }
460  }
461  }
462  }
463 } //analyze

References funct::abs(), TauDecay_GenParticle::AnalyzeTau(), zMuMuMuonUserData::beta, HltBtagPostValidation_cff::c, DecayLength, dqm::impl::MonitorElement::Fill(), genparticleCollectionToken_, genParticles2HepMC_cfi::genParticles, TauDecay_GenParticle::Get_TauDecayProducts(), PdtPdgMini::Higgs0, mps_fire::i, iEvent, isLastTauinChain(), TauDecay::isTauFinalStateParticle(), PdtPdgMini::K_plus, LifeTime, TauDecay::MODE_3PI, TauDecay::MODE_KPIK, TauDecay::MODE_KPIPI, TauDecay::MODE_PI2PI0, MODEID, MODEInvMass, NMODEID, nPrimeTaus, TauDecay::nProng(), nTaus, PdtPdgMini::nu_e, PdtPdgMini::nu_mu, PdtPdgMini::nu_tau, photons(), PdtPdgMini::pi_plus, nanoDQM_cfi::PV, spinEffectsWHpm(), spinEffectsZH(), nanoDQM_cfi::SV, tauDecayChannel(), TauEta, tauMother(), TauPhi, TauProngs, TauPt, mps_merge::weight, and PdtPdgMini::Z0.

◆ bookHistograms()

void TauValidation::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Setting the DQM top directories

Implements DQMEDAnalyzer.

Definition at line 32 of file TauValidation.cc.

32  {
34  DQMHelper dqm(&i);
35  i.setCurrentFolder("Generator/Tau");
36  // Number of analyzed events
37  nTaus = dqm.book1dHisto("nTaus", "n analyzed Taus", 1, 0., 1., "bin", "Number of #tau's found");
38  nPrimeTaus =
39  dqm.book1dHisto("nPrimeTaus", "n analyzed prime Taus", 1, 0., 1., "bin", "Number of #tau's from Gauge Bosons");
40 
41  //Kinematics
42  TauPt = dqm.book1dHisto("TauPt", "Tau pT", 100, 0, 100, "P_{T}^{#tau}", "Number of #tau's from Gauge Bosons");
43  TauEta = dqm.book1dHisto("TauEta", "Tau eta", 100, -2.5, 2.5, "#eta^{#tau}", "Number of #tau's from Gauge Bosons");
44  TauPhi = dqm.book1dHisto("TauPhi", "Tau phi", 100, -3.14, 3.14, "#phi^{#tau}", "Number of #tau's from Gauge Bosons");
45  TauProngs = dqm.book1dHisto("TauProngs", "Tau n prongs", 7, 0, 7, "N_{prongs}", "Number of #tau's from Gauge Bosons");
46  TauDecayChannels = dqm.book1dHisto(
47  "TauDecayChannels", "Tau decay channels", 13, 0, 13, "Tau POG Decay Mode", "Number of #tau's from Gauge Bosons");
50  TauDecayChannels->setBinLabel(1 + muon, "mu");
51  TauDecayChannels->setBinLabel(1 + pi, "#pi^{#pm}");
52  TauDecayChannels->setBinLabel(1 + rho, "#rho^{#pm}");
53  TauDecayChannels->setBinLabel(1 + a1, "a_{1}^{#pm}");
54  TauDecayChannels->setBinLabel(1 + pi1pi0, "#pi^{#pm}#pi^{0}");
55  TauDecayChannels->setBinLabel(1 + pinpi0, "#pi^{#pm}n#pi^{0}");
56  TauDecayChannels->setBinLabel(1 + tripi, "3#pi^{#pm}");
57  TauDecayChannels->setBinLabel(1 + tripinpi0, "3#pi^{#pm}n#pi^{0}");
58  TauDecayChannels->setBinLabel(1 + K, "K");
59  TauDecayChannels->setBinLabel(1 + Kstar, "K^{*}");
60  TauDecayChannels->setBinLabel(1 + stable, "Stable");
61 
62  TauMothers = dqm.book1dHisto("TauMothers", "Tau mother particles", 10, 0, 10, "Mother of #tau", "Number of #tau's");
63 
64  TauMothers->setBinLabel(1 + other, "?");
65  TauMothers->setBinLabel(1 + B, "B Decays");
66  TauMothers->setBinLabel(1 + D, "D Decays");
67  TauMothers->setBinLabel(1 + gamma, "#gamma");
68  TauMothers->setBinLabel(1 + Z, "Z");
69  TauMothers->setBinLabel(1 + W, "W");
70  TauMothers->setBinLabel(1 + HSM, "H_{SM}/h^{0}");
71  TauMothers->setBinLabel(1 + H0, "H^{0}");
72  TauMothers->setBinLabel(1 + A0, "A^{0}");
73  TauMothers->setBinLabel(1 + Hpm, "H^{#pm}");
74 
75  DecayLength = dqm.book1dHisto(
76  "DecayLength", "#tau Decay Length", 100, -20, 20, "L_{#tau} (cm)", "Number of #tau's from Gauge Bosons");
77  LifeTime = dqm.book1dHisto(
78  "LifeTime", "#tau LifeTime ", 500, 0, 10000E-15, "#tau_{#tau} (s)", "Number of #tau's from Gauge Bosons");
79 
80  TauSpinEffectsW_X = dqm.book1dHisto(
81  "TauSpinEffectsWX", "X for pion", 50, 0, 1, "X", "Number of #tau#rightarrow#pi#nu from W^{#pm} Bosons");
82  TauSpinEffectsHpm_X = dqm.book1dHisto(
83  "TauSpinEffectsHpmX", "X for pion", 50, 0, 1, "X", "Number of #tau#rightarrow#pi#nu from H^{#pm} Bosons");
84 
85  TauSpinEffectsW_eX = dqm.book1dHisto(
86  "TauSpinEffectsWeX", "X for e", 50, 0, 1, "X", "Number of #tau#rightarrowe#nu#nu from W^{#pm} Bosons");
87  TauSpinEffectsHpm_eX = dqm.book1dHisto(
88  "TauSpinEffectsHpmeX", "X for e", 50, 0, 1, "X", "Number of #tau#rightarrowe#nu#nu from H^{#pm} Bosons");
89 
90  TauSpinEffectsW_muX = dqm.book1dHisto(
91  "TauSpinEffectsWmuX", "X for mu", 50, 0, 1, "X", "Number of #tau#rightarrow#mu#nu#nu from W^{#pm} Bosons");
92  TauSpinEffectsHpm_muX = dqm.book1dHisto(
93  "TauSpinEffectsHpmmuX", "X for mue", 50, 0, 1, "X", "Number of #tau#rightarrow#mu#nu#nu from H^{#pm} Bosons");
94 
95  TauSpinEffectsW_UpsilonRho = dqm.book1dHisto("TauSpinEffectsWUpsilonRho",
96  "#Upsilon for #rho",
97  50,
98  -1,
99  1,
100  "#Upsilon",
101  "Number of #tau#rightarrow#rho#nu from Gauge Bosons");
102  TauSpinEffectsHpm_UpsilonRho = dqm.book1dHisto("TauSpinEffectsHpmUpsilonRho",
103  "#Upsilon for #rho",
104  50,
105  -1,
106  1,
107  "#Upsilon",
108  "Number of #tau#rightarrow#rho#nu from Gauge Bosons");
109 
110  TauSpinEffectsW_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsWUpsilonA1",
111  "#Upsilon for a1",
112  50,
113  -1,
114  1,
115  "#Upsilon",
116  "Number of #tau#rightarrow#pi#pi#pi#nu from Gauge Bosons");
117  TauSpinEffectsHpm_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsHpmUpsilonA1",
118  "#Upsilon for a1",
119  50,
120  -1,
121  1,
122  "#Upsilon",
123  "Number of #tau#rightarrow#pi#pi#pi#nu from Gauge Bosons");
124 
126  dqm.book1dHisto("TauSpinEffectsH_pipiAcoplanarity",
127  "H Acoplanarity for #pi^{-}#pi^{+}",
128  50,
129  0,
130  2 * TMath::Pi(),
131  "Acoplanarity",
132  "Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events");
133 
135  dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearity",
136  "H Acollinearity for #pi^{-}#pi^{+}",
137  50,
138  0,
139  TMath::Pi(),
140  "Acollinearity",
141  "Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events");
143  dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearityzoom",
144  "H Acollinearity for #pi^{-}#pi^{+}",
145  50,
146  3,
147  TMath::Pi(),
148  "Acollinearity",
149  "Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events");
150 
152  dqm.book1dHisto("TauSpinEffectsZMVis",
153  "Mass of pi+ pi-",
154  25,
155  0,
156  1.1,
157  "M_{#pi^{+}#pi^{-}} (GeV)",
158  "Number of Z#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events");
160  dqm.book1dHisto("TauSpinEffectsHMVis",
161  "Mass of pi+ pi-",
162  25,
163  0,
164  1.1,
165  "M_{#pi^{+}#pi^{-}} (GeV)",
166  "Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events");
167 
169  dqm.book1dHisto("TauSpinEffectsZZs",
170  "Z_{s}",
171  zsbins,
172  zsmin,
173  zsmax,
174  "Z_{s}",
175  "Number of Z#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu Events");
177  dqm.book1dHisto("TauSpinEffectsHZs",
178  "Z_{s}",
179  zsbins,
180  zsmin,
181  zsmax,
182  "Z_{s}",
183  "Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu Events");
184 
185  TauSpinEffectsZ_X = dqm.book1dHisto(
186  "TauSpinEffectsZX", "X for pion of #tau^{-}", 25, 0, 1.0, "X", "Number of #tau#rightarrow#pi#nu from Z Bosons");
187  TauSpinEffectsZ_X50to75 = dqm.book1dHisto("TauSpinEffectsZX50to75",
188  "X for pion of #tau^{-} (50GeV-75GeV)",
189  10,
190  0,
191  1.0,
192  "X",
193  "Number of #tau#rightarrow#pi#nu from Z(50GeV<M<75GeV) Bosons");
194  TauSpinEffectsZ_X75to88 = dqm.book1dHisto("TauSpinEffectsZX75to88",
195  "X for pion of #tau^{-} (75GeV-88GeV)",
196  10,
197  0,
198  1.0,
199  "X",
200  "Number of #tau#rightarrow#pi#nu from Z(75GeV<M<88GeV) Bosons");
201  TauSpinEffectsZ_X88to100 = dqm.book1dHisto("TauSpinEffectsZX88to100",
202  "X for pion of #tau^{-} (88GeV-100GeV)",
203  10,
204  0,
205  1.0,
206  "X",
207  "Number of #tau#rightarrow#pi#nu from Z(88GeV<M<100GeV) Bosons");
208  TauSpinEffectsZ_X100to120 = dqm.book1dHisto("TauSpinEffectsZX100to120",
209  "X for pion of #tau^{-} (100GeV-120GeV)",
210  10,
211  0,
212  1.0,
213  "X",
214  "Number of #tau#rightarrow#pi#nu from Z(100GeV<M<120GeV) Bosons");
215  TauSpinEffectsZ_X120UP = dqm.book1dHisto("TauSpinEffectsZX120UP",
216  "X for pion of #tau^{-} (>120GeV)",
217  10,
218  0,
219  1.0,
220  "X",
221  "Number of #tau#rightarrow#pi#nu from Z(120GeV<MGeV) Bosons");
222 
223  TauSpinEffectsH_X = dqm.book1dHisto(
224  "TauSpinEffectsH_X", "X for pion of #tau^{-}", 25, 0, 1.0, "X", "Number of #tau#rightarrow#pi#nu from H Bosons");
225 
226  TauSpinEffectsZ_Xf = dqm.book1dHisto("TauSpinEffectsZXf",
227  "X for pion of forward emitted #tau^{-}",
228  25,
229  0,
230  1.0,
231  "X_{f}",
232  "Number of #tau#rightarrow#pi#nu from Z Bosons");
233  TauSpinEffectsH_Xf = dqm.book1dHisto("TauSpinEffectsHXf",
234  "X for pion of forward emitted #tau^{-}",
235  25,
236  0,
237  1.0,
238  "X_{f}",
239  "Number of #tau#rightarrow#pi#nu from H Bosons");
240 
241  TauSpinEffectsZ_Xb = dqm.book1dHisto("TauSpinEffectsZXb",
242  "X for pion of backward emitted #tau^{-}",
243  25,
244  0,
245  1.0,
246  "X_{b}",
247  "Number of #tau#rightarrow#pi#nu from Z Bosons");
248  TauSpinEffectsH_Xb = dqm.book1dHisto("TauSpinEffectsHXb",
249  "X for pion of backward emitted #tau^{-}",
250  25,
251  0,
252  1.0,
253  "X_{b}",
254  "Number of #tau#rightarrow#pi#nu from H Bosons");
255 
256  TauSpinEffectsZ_eX = dqm.book1dHisto(
257  "TauSpinEffectsZeX", "X for e", 50, 0, 1, "X", "Number of #tau#rightarrowe#nu#nu from Gauge Bosons");
258  TauSpinEffectsH_eX = dqm.book1dHisto(
259  "TauSpinEffectsHeX", "X for e", 50, 0, 1, "X", "Number of #tau#rightarrowe#nu#nu from Gauge Bosons");
260 
261  TauSpinEffectsZ_muX = dqm.book1dHisto(
262  "TauSpinEffectsZmuX", "X for mu", 50, 0, 1, "X", "Number of #tau#rightarrow#mu#nu#nu from Gauge Bosons");
263  TauSpinEffectsH_muX = dqm.book1dHisto(
264  "TauSpinEffectsHmuX", "X for mu", 50, 0, 1, "X", "Number of #tau#rightarrow#mu#nu#nu from Gauge Bosons");
265 
267  dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityminus",
268  "#phi^{*-} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}<0)",
269  32,
270  0,
271  2 * TMath::Pi(),
272  "#phi^{*-} (Acoplanarity)",
273  "Number of H#rightarrow#tau^{-}(#rightarrow#rho^{-}#nu)#tau^{+}(#rightarrow#rho^{+}#nu) Events");
275  dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityplus",
276  "#phi^{*+} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}>0)",
277  32,
278  0,
279  2 * TMath::Pi(),
280  "#phi^{*+} (Acoplanarity)",
281  "Number of H#rightarrow#tau^{-}(#rightarrow#rho^{-}#nu)#tau^{+}(#rightarrow#rho^{+}#nu) Events");
282 
283  TauFSRPhotonsN = dqm.book1dHisto("TauFSRPhotonsN",
284  "FSR Photons radiating from/with tau (Gauge Boson)",
285  5,
286  -0.5,
287  4.5,
288  "N^{FSR Photons radiating from/with #tau}",
289  "Number of #tau's from Gauge Bosons");
290  TauFSRPhotonsPt = dqm.book1dHisto("TauFSRPhotonsPt",
291  "Pt of FSR Photons radiating from/with tau (Gauge Boson)",
292  100,
293  0,
294  100,
295  "P_{t}^{FSR Photons radiating from/with #tau [per #tau]} (GeV)",
296  "Number of #tau's from Gauge Bosons");
297  TauFSRPhotonsPtSum = dqm.book1dHisto("TauFSRPhotonsPtSum",
298  "Pt of FSR Photons radiating from/with tau (Gauge Boson)",
299  100,
300  0,
301  100,
302  "P_{t}^{FSR Photons radiating from/with #tau [per #tau]} (GeV)",
303  "Number of #tau's from Gauge Bosons");
304 
305  TauBremPhotonsN = dqm.book1dHisto("TauBremPhotonsN",
306  "Brem. Photons radiating in tau decay",
307  5,
308  -0.5,
309  4.5,
310  "N FSR Photons radiating from/with tau",
311  "Number of #tau's from Gauge Bosons");
312  TauBremPhotonsPt = dqm.book1dHisto("TauBremPhotonsPt",
313  "Sum Brem Pt ",
314  100,
315  0,
316  100,
317  "P_{t}^{Brem. Photons radiating in tau decay} (GeV)",
318  "Number of #tau's from Gauge Bosons");
319  TauBremPhotonsPtSum = dqm.book1dHisto("TauBremPhotonsPtSum",
320  "Sum of Brem Pt ",
321  100,
322  0,
323  100,
324  "Sum P_{t}^{Brem. Photons radiating in tau decay} (GeV)",
325  "Number of #tau's from Gauge Bosons");
326 
327  MODEID = dqm.book1dHisto("JAKID", "JAK ID", NMODEID + 1, -0.5, NMODEID + 0.5);
328  for (unsigned int j = 0; j < NMODEID + 1; j++) {
329  MODEInvMass.push_back(std::vector<MonitorElement *>());
330  std::string tmp = "JAKID";
331  tmp += std::to_string(j);
332  MODEInvMass.at(j).push_back(dqm.book1dHisto("M" + tmp,
333  "M_{" + TauDecay::DecayMode(j) + "} (GeV)",
334  80,
335  0,
336  2.0,
337  "M_{" + TauDecay::DecayMode(j) + "} (GeV)",
338  "Number of #tau's from Gauge Bosons"));
341  j == TauDecay::MODE_KPIPI) {
342  MODEInvMass.at(j).push_back(dqm.book1dHisto("M13" + tmp,
343  "M_{13," + TauDecay::DecayMode(j) + "} (GeV)",
344  80,
345  0,
346  2.0,
347  "M_{13," + TauDecay::DecayMode(j) + "} (GeV)",
348  "Number of #tau's from Gauge Bosons"));
349  MODEInvMass.at(j).push_back(dqm.book1dHisto("M23" + tmp,
350  "M_{23," + TauDecay::DecayMode(j) + "} (GeV)",
351  80,
352  0,
353  2.0,
354  "M_{23," + TauDecay::DecayMode(j) + "} (GeV)",
355  "Number of #tau's from Gauge Bosons"));
356  MODEInvMass.at(j).push_back(dqm.book1dHisto("M12" + tmp,
357  "M_{12," + TauDecay::DecayMode(j) + "} (GeV)",
358  80,
359  0,
360  2.0,
361  "M_{12," + TauDecay::DecayMode(j) + "} (GeV)",
362  "Number of #tau's from Gauge Bosons"));
363  }
364  }
365  return;
366 }

References A0, a1, B, D, DecayLength, TauDecay::DecayMode(), electron, gamma, H0, Hpm, HSM, mps_fire::i, dqmiolumiharvest::j, K, Kstar, LifeTime, TauDecay::MODE_3PI, TauDecay::MODE_KPIK, TauDecay::MODE_KPIPI, TauDecay::MODE_PI2PI0, MODEID, MODEInvMass, NMODEID, nPrimeTaus, nTaus, other, Pi, pi, pi1pi0, pinpi0, rho, dqm::impl::MonitorElement::setBinLabel(), stable, AlCaHLTBitMon_QueryRunRegistry::string, TauBremPhotonsN, TauBremPhotonsPt, TauBremPhotonsPtSum, TauDecayChannels, TauEta, TauFSRPhotonsN, TauFSRPhotonsPt, TauFSRPhotonsPtSum, TauMothers, TauPhi, TauProngs, TauPt, TauSpinEffectsH_eX, TauSpinEffectsH_muX, TauSpinEffectsH_MVis, TauSpinEffectsH_pipiAcollinearity, TauSpinEffectsH_pipiAcollinearityzoom, TauSpinEffectsH_pipiAcoplanarity, TauSpinEffectsH_rhorhoAcoplanarityminus, TauSpinEffectsH_rhorhoAcoplanarityplus, TauSpinEffectsH_X, TauSpinEffectsH_Xb, TauSpinEffectsH_Xf, TauSpinEffectsH_Zs, TauSpinEffectsHpm_eX, TauSpinEffectsHpm_muX, TauSpinEffectsHpm_UpsilonA1, TauSpinEffectsHpm_UpsilonRho, TauSpinEffectsHpm_X, TauSpinEffectsW_eX, TauSpinEffectsW_muX, TauSpinEffectsW_UpsilonA1, TauSpinEffectsW_UpsilonRho, TauSpinEffectsW_X, TauSpinEffectsZ_eX, TauSpinEffectsZ_muX, TauSpinEffectsZ_MVis, TauSpinEffectsZ_X, TauSpinEffectsZ_X100to120, TauSpinEffectsZ_X120UP, TauSpinEffectsZ_X50to75, TauSpinEffectsZ_X75to88, TauSpinEffectsZ_X88to100, TauSpinEffectsZ_Xb, TauSpinEffectsZ_Xf, TauSpinEffectsZ_Zs, createJobs::tmp, tripi, tripinpi0, undetermined, W, Z, zsbins, zsmax, and zsmin.

◆ countParticles()

void TauValidation::countParticles ( const reco::GenParticle p,
int &  allCount,
int &  eCount,
int &  muCount,
int &  pi0Count,
int &  piCount,
int &  rhoCount,
int &  a1Count,
int &  KCount,
int &  KstarCount 
)
private

Definition at line 636 of file TauValidation.cc.

645  {
646  for (unsigned int i = 0; i < p->numberOfDaughters(); i++) {
647  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(p->daughter(i));
648  int pid = dau->pdgId();
649  allCount++;
650  if (abs(pid) == 11)
651  eCount++;
652  else if (abs(pid) == 13)
653  muCount++;
654  else if (abs(pid) == 111)
655  pi0Count++;
656  else if (abs(pid) == 211)
657  piCount++;
658  else if (abs(pid) == 213)
659  rhoCount++;
660  else if (abs(pid) == 20213)
661  a1Count++;
662  else if (abs(pid) == 321)
663  KCount++;
664  else if (abs(pid) == 323)
665  KstarCount++;
666  countParticles(dau, allCount, eCount, muCount, pi0Count, piCount, rhoCount, a1Count, KCount, KstarCount);
667  }
668 }

References funct::abs(), mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, and reco::LeafCandidate::pdgId().

Referenced by tauDecayChannel().

◆ dqmBeginRun()

void TauValidation::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 30 of file TauValidation.cc.

30 { c.getData(fPDGTable); }

References HltBtagPostValidation_cff::c, and fPDGTable.

◆ findFSRandBrem()

void TauValidation::findFSRandBrem ( const reco::GenParticle p,
bool  doBrem,
std::vector< const reco::GenParticle * > &  ListofFSR,
std::vector< const reco::GenParticle * > &  ListofBrem 
)
private

Definition at line 506 of file TauValidation.cc.

509  {
510  // note this code split the FSR and Brem based one if the tau decays into a tau+photon or not with the Fortran Tauola Interface, this is not 100% correct because photos puts the tau with the regular tau decay products.
511  if (abs(p->pdgId()) == 15) {
512  if (isLastTauinChain(p)) {
513  doBrem = true;
514  } else {
515  doBrem = false;
516  }
517  }
518  int photo_ID = 22;
519  for (unsigned int i = 0; i < p->numberOfDaughters(); i++) {
520  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(p->daughter(i));
521  if (abs((dau)->pdgId()) == abs(photo_ID) && !doBrem) {
522  ListofFSR.push_back(dau);
523  }
524  if (abs((dau)->pdgId()) == abs(photo_ID) && doBrem) {
525  ListofBrem.push_back(dau);
526  }
527  if (abs((dau)->pdgId()) != 111 && abs((dau)->pdgId()) != 221) { // remove pi0 and eta decays
528  findFSRandBrem(dau, doBrem, ListofFSR, ListofBrem);
529  }
530  }
531 }

References funct::abs(), mps_fire::i, isLastTauinChain(), AlCaHLTBitMon_ParallelJobs::p, and EgammaValidation_cff::pdgId.

Referenced by photons().

◆ findMother()

int TauValidation::findMother ( const reco::GenParticle tau)
private

Definition at line 486 of file TauValidation.cc.

486 { return TauValidation::GetMother(tau)->pdgId(); }

References GetMother(), reco::LeafCandidate::pdgId(), and metsig::tau.

Referenced by spinEffectsZH(), and tauMother().

◆ FindPhotosFSR()

void TauValidation::FindPhotosFSR ( const reco::GenParticle p,
std::vector< const reco::GenParticle * > &  ListofFSR,
double &  BosonScale 
)
private

Definition at line 533 of file TauValidation.cc.

535  {
536  BosonScale = 0.0;
537  const reco::GenParticle *m = GetMother(p);
538  int mother_pid = m->pdgId();
539  if (m->pdgId() != p->pdgId()) {
540  for (unsigned int i = 0; i < m->numberOfDaughters(); i++) {
541  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(m->daughter(i));
542  if (abs(dau->pdgId()) == 22) {
543  ListofFSR.push_back(dau);
544  }
545  }
546  }
547  if (abs(mother_pid) == 24)
548  BosonScale = 1.0; // W
549  if (abs(mother_pid) == 23)
550  BosonScale = 2.0; // Z;
551  if (abs(mother_pid) == 22)
552  BosonScale = 2.0; // gamma;
553  if (abs(mother_pid) == 25)
554  BosonScale = 2.0; // HSM;
555  if (abs(mother_pid) == 35)
556  BosonScale = 2.0; // H0;
557  if (abs(mother_pid) == 36)
558  BosonScale = 2.0; // A0;
559  if (abs(mother_pid) == 37)
560  BosonScale = 1.0; //Hpm;
561 }

References funct::abs(), GetMother(), mps_fire::i, visualization-live-secondInstance_cfg::m, AlCaHLTBitMon_ParallelJobs::p, and reco::LeafCandidate::pdgId().

Referenced by photons().

◆ findTauList()

void TauValidation::findTauList ( const reco::GenParticle tau,
std::vector< const reco::GenParticle * > &  TauList 
)
private

Definition at line 496 of file TauValidation.cc.

496  {
497  TauList.insert(TauList.begin(), tau);
498  for (unsigned int i = 0; i < tau->numberOfMothers(); i++) {
499  const reco::GenParticle *mother = static_cast<const reco::GenParticle *>(tau->mother(i));
500  if (mother->pdgId() == tau->pdgId()) {
501  findTauList(mother, TauList);
502  }
503  }
504 }

References mps_fire::i, reco::LeafCandidate::pdgId(), and metsig::tau.

Referenced by photons().

◆ GetMother()

const reco::GenParticle * TauValidation::GetMother ( const reco::GenParticle tau)
private

Definition at line 465 of file TauValidation.cc.

465  {
466  for (unsigned int i = 0; i < tau->numberOfMothers(); i++) {
467  const reco::GenParticle *mother = static_cast<const reco::GenParticle *>(tau->mother(i));
468  if (mother->pdgId() == tau->pdgId())
469  return GetMother(mother);
470  return mother;
471  }
472  return tau;
473 }

References mps_fire::i, reco::LeafCandidate::pdgId(), and metsig::tau.

Referenced by findMother(), FindPhotosFSR(), and motherP4().

◆ GetMothers()

const std::vector< const reco::GenParticle * > TauValidation::GetMothers ( const reco::GenParticle boson)
private

Definition at line 475 of file TauValidation.cc.

475  {
476  std::vector<const reco::GenParticle *> mothers;
477  for (unsigned int i = 0; i < boson->numberOfMothers(); i++) {
478  const reco::GenParticle *mother = static_cast<const reco::GenParticle *>(boson->mother(i));
479  if (mother->pdgId() == boson->pdgId())
480  return GetMothers(mother);
481  mothers.push_back(mother);
482  }
483  return mothers;
484 }

References mps_fire::i, reco::CompositeRefCandidateT< D >::mother(), reco::CompositeRefCandidateT< D >::numberOfMothers(), and reco::LeafCandidate::pdgId().

Referenced by spinEffectsZH().

◆ isLastTauinChain()

bool TauValidation::isLastTauinChain ( const reco::GenParticle tau)
private

Definition at line 488 of file TauValidation.cc.

488  {
489  for (unsigned int i = 0; i < tau->numberOfDaughters(); i++) {
490  if (tau->daughter(i)->pdgId() == tau->pdgId())
491  return false;
492  }
493  return true;
494 }

References mps_fire::i, and metsig::tau.

Referenced by analyze(), and findFSRandBrem().

◆ leadingPionMomentum()

double TauValidation::leadingPionMomentum ( const reco::GenParticle tau,
double  weight 
)
private

Definition at line 1018 of file TauValidation.cc.

1018  {
1019  return leadingPionP4(tau).P();
1020 }

References leadingPionP4(), and metsig::tau.

◆ leadingPionP4()

TLorentzVector TauValidation::leadingPionP4 ( const reco::GenParticle tau)
private

Definition at line 1022 of file TauValidation.cc.

1022  {
1023  TLorentzVector p4(0, 0, 0, 0);
1024  for (unsigned int i = 0; i < tau->numberOfDaughters(); i++) {
1025  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(tau->daughter(i));
1026  int pid = dau->pdgId();
1027  if (abs(pid) == 15)
1028  return leadingPionP4(dau);
1029  if (!(abs(pid) == 211 || abs(pid) == 13 || abs(pid) == 11))
1030  continue;
1031  if (dau->p() > p4.P())
1032  p4 = TLorentzVector(dau->px(), dau->py(), dau->pz(), dau->energy());
1033  }
1034  return p4;
1035 }

References funct::abs(), reco::LeafCandidate::energy(), mps_fire::i, reco::LeafCandidate::p(), p4, reco::LeafCandidate::pdgId(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), and metsig::tau.

Referenced by leadingPionMomentum(), spinEffectsWHpm(), and spinEffectsZH().

◆ motherP4()

TLorentzVector TauValidation::motherP4 ( const reco::GenParticle tau)
private

Definition at line 1037 of file TauValidation.cc.

1037  {
1038  const reco::GenParticle *m = GetMother(tau);
1039  return TLorentzVector(m->px(), m->py(), m->pz(), m->energy());
1040 }

References GetMother(), visualization-live-secondInstance_cfg::m, and metsig::tau.

Referenced by spinEffectsWHpm().

◆ photons()

void TauValidation::photons ( const reco::GenParticle tau,
double  weight 
)
private

Definition at line 1056 of file TauValidation.cc.

1056  {
1057  // Find First tau in chain
1058  std::vector<const reco::GenParticle *> TauList;
1059  findTauList(tau, TauList);
1060 
1061  // Get List of Gauge Boson to tau(s) FSR and Brem
1062  bool passedW = false;
1063  std::vector<const reco::GenParticle *> ListofFSR;
1064  ListofFSR.clear();
1065  std::vector<const reco::GenParticle *> ListofBrem;
1066  ListofBrem.clear();
1067  std::vector<const reco::GenParticle *> FSR_photos;
1068  FSR_photos.clear();
1069  double BosonScale(1);
1070  if (!TauList.empty()) {
1071  TauValidation::findFSRandBrem(TauList.at(0), passedW, ListofFSR, ListofBrem);
1072  TauValidation::FindPhotosFSR(TauList.at(0), FSR_photos, BosonScale);
1073 
1074  // Add the Tau Brem. information
1075  TauBremPhotonsN->Fill(ListofBrem.size(), weight);
1076  double photonPtSum = 0;
1077  for (unsigned int i = 0; i < ListofBrem.size(); i++) {
1078  photonPtSum += ListofBrem.at(i)->pt();
1079  TauBremPhotonsPt->Fill(ListofBrem.at(i)->pt(), weight);
1080  }
1081  TauBremPhotonsPtSum->Fill(photonPtSum, weight);
1082 
1083  // Now add the Gauge Boson FSR information
1084  if (BosonScale != 0) {
1085  TauFSRPhotonsN->Fill(ListofFSR.size(), weight);
1086  photonPtSum = 0;
1087  for (unsigned int i = 0; i < ListofFSR.size(); i++) {
1088  photonPtSum += ListofFSR.at(i)->pt();
1089  TauFSRPhotonsPt->Fill(ListofFSR.at(i)->pt(), weight);
1090  }
1091  double FSR_photosSum(0);
1092  for (unsigned int i = 0; i < FSR_photos.size(); i++) {
1093  FSR_photosSum += FSR_photos.at(i)->pt();
1094  TauFSRPhotonsPt->Fill(FSR_photos.at(i)->pt() / BosonScale, weight * BosonScale);
1095  }
1096  TauFSRPhotonsPtSum->Fill(photonPtSum + FSR_photosSum / BosonScale, weight);
1097  }
1098  }
1099 }

References dqm::impl::MonitorElement::Fill(), findFSRandBrem(), FindPhotosFSR(), findTauList(), mps_fire::i, metsig::tau, TauBremPhotonsN, TauBremPhotonsPt, TauBremPhotonsPtSum, TauFSRPhotonsN, TauFSRPhotonsPt, TauFSRPhotonsPtSum, and mps_merge::weight.

Referenced by analyze().

◆ spinEffectsWHpm()

void TauValidation::spinEffectsWHpm ( const reco::GenParticle tau,
int  mother,
int  decay,
std::vector< const reco::GenParticle * > &  part,
double  weight 
)
private

Definition at line 670 of file TauValidation.cc.

671  {
672  // polarization only for 1-prong hadronic taus with no neutral pions
674  TLorentzVector momP4 = motherP4(tau);
675  TLorentzVector pionP4 = leadingPionP4(tau);
676  pionP4.Boost(-1 * momP4.BoostVector());
677  double energy = pionP4.E() / (momP4.M() / 2);
678  if (decay == TauDecay::MODE_PION) {
679  if (abs(mother) == 24)
681  else if (abs(mother) == 37)
683  } else if (decay == TauDecay::MODE_MUON) {
684  if (abs(mother) == 24)
686  else if (abs(mother) == 37)
688  } else if (decay == TauDecay::MODE_ELECTRON) {
689  if (abs(mother) == 24)
691  else if (abs(mother) == 37)
693  }
694  } else if (decay == TauDecay::MODE_PIPI0) {
695  TLorentzVector rho(0, 0, 0, 0), pi(0, 0, 0, 0);
696  for (unsigned int i = 0; i < part.size(); i++) {
697  TLorentzVector LV(part.at(i)->px(), part.at(i)->py(), part.at(i)->pz(), part.at(i)->energy());
698  if (abs(part.at(i)->pdgId()) == PdtPdgMini::pi_plus) {
699  pi += LV;
700  rho += LV;
701  } else if (abs(part.at(i)->pdgId()) == PdtPdgMini::pi0) {
702  rho += LV;
703  }
704  }
705  if (abs(mother) == 24)
706  TauSpinEffectsW_UpsilonRho->Fill(2 * pi.P() / rho.P() - 1, weight);
707  else if (abs(mother) == 37)
708  TauSpinEffectsHpm_UpsilonRho->Fill(2 * pi.P() / rho.P() - 1, weight);
709  } else if (decay == TauDecay::MODE_3PI || decay == TauDecay::MODE_PI2PI0) { // only for pi2pi0 for now
710  TLorentzVector a1(0, 0, 0, 0), pi_p(0, 0, 0, 0), pi_m(0, 0, 0, 0);
711  int nplus(0), nminus(0);
712  for (unsigned int i = 0; i < part.size(); i++) {
713  TLorentzVector LV(part.at(i)->px(), part.at(i)->py(), part.at(i)->pz(), part.at(i)->energy());
714  if (part.at(i)->pdgId() == PdtPdgMini::pi_plus) {
715  pi_p += LV;
716  a1 += LV;
717  nplus++;
718  } else if (part.at(i)->pdgId() == PdtPdgMini::pi_minus) {
719  pi_m += LV;
720  a1 += LV;
721  nminus++;
722  }
723  }
724  double gamma = 0;
725  if (nplus + nminus == 3 && nplus == 1)
726  gamma = 2 * pi_p.P() / a1.P() - 1;
727  else if (nplus + nminus == 3 && nminus == 1)
728  gamma = 2 * pi_m.P() / a1.P() - 1;
729  else {
730  pi_p += pi_m;
731  gamma = 2 * pi_p.P() / a1.P() - 1;
732  }
733  if (abs(mother) == 24)
735  else if (abs(mother) == 37)
737  }
738 }

References a1, funct::abs(), PA_ZEESkim_cff::decay, HCALHighEnergyHPDFilter_cfi::energy, dqm::impl::MonitorElement::Fill(), gamma, mps_fire::i, leadingPionP4(), TauDecay::MODE_3PI, TauDecay::MODE_ELECTRON, TauDecay::MODE_MUON, TauDecay::MODE_PI2PI0, TauDecay::MODE_PION, TauDecay::MODE_PIPI0, motherP4(), pi, PdtPdgMini::pi0, PdtPdgMini::pi_minus, PdtPdgMini::pi_plus, rho, metsig::tau, TauSpinEffectsHpm_eX, TauSpinEffectsHpm_muX, TauSpinEffectsHpm_UpsilonA1, TauSpinEffectsHpm_UpsilonRho, TauSpinEffectsHpm_X, TauSpinEffectsW_eX, TauSpinEffectsW_muX, TauSpinEffectsW_UpsilonA1, TauSpinEffectsW_UpsilonRho, TauSpinEffectsW_X, and mps_merge::weight.

Referenced by analyze().

◆ spinEffectsZH()

void TauValidation::spinEffectsZH ( const reco::GenParticle boson,
double  weight 
)
private

Definition at line 740 of file TauValidation.cc.

740  {
741  int ntau(0);
742  for (unsigned int i = 0; i < boson->numberOfDaughters(); i++) {
743  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(boson->daughter(i));
744  if (ntau == 1 && dau->pdgId() == 15)
745  return;
746  if (boson->pdgId() != 15 && abs(dau->pdgId()) == 15)
747  ntau++;
748  }
749  if (ntau != 2)
750  return;
751  if (abs(boson->pdgId()) == PdtPdgMini::Z0 || abs(boson->pdgId()) == PdtPdgMini::Higgs0) {
752  TLorentzVector tautau(0, 0, 0, 0);
753  TLorentzVector pipi(0, 0, 0, 0);
754  TLorentzVector taum(0, 0, 0, 0);
755  TLorentzVector taup(0, 0, 0, 0);
756  TLorentzVector rho_plus, rho_minus, pi_rhominus, pi0_rhominus, pi_rhoplus, pi0_rhoplus, pi_plus, pi_minus;
757  bool hasrho_minus(false), hasrho_plus(false), haspi_minus(false), haspi_plus(false);
758  int nSinglePionDecays(0), nSingleMuonDecays(0), nSingleElectronDecays(0);
759  double x1(0), x2(0);
760  TLorentzVector Zboson(boson->px(), boson->py(), boson->pz(), boson->energy());
761  for (unsigned int i = 0; i < boson->numberOfDaughters(); i++) {
762  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(boson->daughter(i));
763  int pid = dau->pdgId();
764  if (abs(findMother(dau)) != 15 && abs(pid) == 15) {
766  unsigned int jak_id, TauBitMask;
767  if (TD.AnalyzeTau(dau, jak_id, TauBitMask, false, false)) {
768  std::vector<const reco::GenParticle *> part = TD.Get_TauDecayProducts();
769  if (jak_id == TauDecay::MODE_PION || jak_id == TauDecay::MODE_MUON || jak_id == TauDecay::MODE_ELECTRON) {
770  if (jak_id == TauDecay::MODE_PION)
771  nSinglePionDecays++;
772  if (jak_id == TauDecay::MODE_MUON)
773  nSingleMuonDecays++;
774  if (jak_id == TauDecay::MODE_ELECTRON)
775  nSingleElectronDecays++;
776  TLorentzVector LVtau(dau->px(), dau->py(), dau->pz(), dau->energy());
777  tautau += LVtau;
778  TLorentzVector LVpi = leadingPionP4(dau);
779  pipi += LVpi;
780  const HepPDT::ParticleData *pd = fPDGTable->particle(dau->pdgId());
781  int charge = (int)pd->charge();
782  LVtau.Boost(-1 * Zboson.BoostVector());
783  LVpi.Boost(-1 * Zboson.BoostVector());
784 
785  if (jak_id == TauDecay::MODE_MUON) {
786  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
787  TauSpinEffectsZ_muX->Fill(LVpi.P() / LVtau.E(), weight);
788  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
789  TauSpinEffectsH_muX->Fill(LVpi.P() / LVtau.E(), weight);
790  }
791  if (jak_id == TauDecay::MODE_ELECTRON) {
792  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
793  TauSpinEffectsZ_eX->Fill(LVpi.P() / LVtau.E(), weight);
794  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
795  TauSpinEffectsH_eX->Fill(LVpi.P() / LVtau.E(), weight);
796  }
797 
798  if (jak_id == TauDecay::MODE_PION) {
799  if (abs(boson->pdgId()) == PdtPdgMini::Z0) {
800  TauSpinEffectsZ_X->Fill(LVpi.P() / LVtau.E(), weight);
801  if (50.0 < Zboson.M() && Zboson.M() < 75.0)
802  TauSpinEffectsZ_X50to75->Fill(LVpi.P() / LVtau.E(), weight);
803  if (75.0 < Zboson.M() && Zboson.M() < 88.0)
804  TauSpinEffectsZ_X75to88->Fill(LVpi.P() / LVtau.E(), weight);
805  if (88.0 < Zboson.M() && Zboson.M() < 100.0)
806  TauSpinEffectsZ_X88to100->Fill(LVpi.P() / LVtau.E(), weight);
807  if (100.0 < Zboson.M() && Zboson.M() < 120.0)
808  TauSpinEffectsZ_X100to120->Fill(LVpi.P() / LVtau.E(), weight);
809  if (120.0 < Zboson.M())
810  TauSpinEffectsZ_X120UP->Fill(LVpi.P() / LVtau.E(), weight);
811  }
812  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
813  TauSpinEffectsH_X->Fill(LVpi.P() / LVtau.E(), weight);
814  }
815  if (charge < 0) {
816  x1 = LVpi.P() / LVtau.E();
817  taum = LVtau;
818  } else {
819  x2 = LVpi.P() / LVtau.E();
820  }
821  }
822  TLorentzVector LVtau(dau->px(), dau->py(), dau->pz(), dau->energy());
823  if (pid == 15)
824  taum = LVtau;
825  if (pid == -15)
826  taup = LVtau;
827  if (jak_id == TauDecay::MODE_PIPI0) {
828  for (unsigned int i = 0; i < part.size(); i++) {
829  int pid_d = part.at(i)->pdgId();
830  if (abs(pid_d) == 211 || abs(pid_d) == 111) {
831  TLorentzVector LV(part.at(i)->px(), part.at(i)->py(), part.at(i)->pz(), part.at(i)->energy());
832  if (pid == 15) {
833  hasrho_minus = true;
834  if (pid_d == -211) {
835  pi_rhominus = LV;
836  }
837  if (abs(pid_d) == 111) {
838  pi0_rhominus = LV;
839  }
840  }
841  if (pid == -15) {
842  hasrho_plus = true;
843  if (pid_d == 211) {
844  pi_rhoplus = LV;
845  }
846  if (abs(pid_d) == 111) {
847  pi0_rhoplus = LV;
848  }
849  }
850  }
851  }
852  }
853  if (jak_id == TauDecay::MODE_PION) {
854  for (unsigned int i = 0; i < part.size(); i++) {
855  int pid_d = part.at(i)->pdgId();
856  if (abs(pid_d) == 211) {
857  TLorentzVector LV(part.at(i)->px(), part.at(i)->py(), part.at(i)->pz(), part.at(i)->energy());
858  if (pid == 15) {
859  haspi_minus = true;
860  if (pid_d == -211) {
861  pi_minus = LV;
862  }
863  }
864  if (pid == -15) {
865  haspi_plus = true;
866  if (pid_d == 211) {
867  pi_plus = LV;
868  }
869  }
870  }
871  }
872  }
873  }
874  }
875  }
876  if (hasrho_minus && hasrho_plus) {
877  //compute rhorho
878  rho_minus = pi_rhominus;
879  rho_minus += pi0_rhominus;
880  rho_plus = pi_rhoplus;
881  rho_plus += pi0_rhoplus;
882  TLorentzVector rhorho = rho_minus;
883  rhorho += rho_plus;
884 
885  // boost to rhorho cm
886  TLorentzVector pi_rhoplusb = pi_rhoplus;
887  pi_rhoplusb.Boost(-1 * rhorho.BoostVector());
888  TLorentzVector pi0_rhoplusb = pi0_rhoplus;
889  pi0_rhoplusb.Boost(-1 * rhorho.BoostVector());
890  TLorentzVector pi_rhominusb = pi_rhominus;
891  pi_rhominusb.Boost(-1 * rhorho.BoostVector());
892  TLorentzVector pi0_rhominusb = pi0_rhominus;
893  pi0_rhominusb.Boost(-1 * rhorho.BoostVector());
894 
895  // compute n+/-
896  TVector3 n_plus = pi_rhoplusb.Vect().Cross(pi0_rhoplusb.Vect());
897  TVector3 n_minus = pi_rhominusb.Vect().Cross(pi0_rhominusb.Vect());
898 
899  // compute the acoplanarity
900  double Acoplanarity = acos(n_plus.Dot(n_minus) / (n_plus.Mag() * n_minus.Mag()));
901  if (pi_rhominusb.Vect().Dot(n_plus) > 0) {
902  Acoplanarity *= -1;
903  Acoplanarity += 2 * TMath::Pi();
904  }
905 
906  // now boost to tau frame
907  pi_rhoplus.Boost(-1 * taup.BoostVector());
908  pi0_rhoplus.Boost(-1 * taup.BoostVector());
909  pi_rhominus.Boost(-1 * taum.BoostVector());
910  pi0_rhominus.Boost(-1 * taum.BoostVector());
911 
912  // compute y1 and y2
913  double y1 = (pi_rhoplus.E() - pi0_rhoplus.E()) / (pi_rhoplus.E() + pi0_rhoplus.E());
914  double y2 = (pi_rhominus.E() - pi0_rhominus.E()) / (pi_rhominus.E() + pi0_rhominus.E());
915 
916  // fill histograms
917  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0 && y1 * y2 < 0)
919  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0 && y1 * y2 > 0)
921  }
922  if (haspi_minus && haspi_plus) {
923  TLorentzVector tauporig = taup;
924  TLorentzVector taumorig = taum;
925 
926  // now boost to Higgs frame
927  pi_plus.Boost(-1 * Zboson.BoostVector());
928  pi_minus.Boost(-1 * Zboson.BoostVector());
929 
930  taup.Boost(-1 * Zboson.BoostVector());
931  taum.Boost(-1 * Zboson.BoostVector());
932 
933  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0) {
935  acos(pi_plus.Vect().Dot(pi_minus.Vect()) / (pi_plus.P() * pi_minus.P())));
937  acos(pi_plus.Vect().Dot(pi_minus.Vect()) / (pi_plus.P() * pi_minus.P())));
938  }
939 
940  double proj_m = taum.Vect().Dot(pi_minus.Vect()) / (taum.P() * taum.P());
941  double proj_p = taup.Vect().Dot(pi_plus.Vect()) / (taup.P() * taup.P());
942  TVector3 Tau_m = taum.Vect();
943  TVector3 Tau_p = taup.Vect();
944  Tau_m *= proj_m;
945  Tau_p *= proj_p;
946  TVector3 Pit_m = pi_minus.Vect() - Tau_m;
947  TVector3 Pit_p = pi_plus.Vect() - Tau_p;
948 
949  double Acoplanarity = acos(Pit_m.Dot(Pit_p) / (Pit_p.Mag() * Pit_m.Mag()));
950  TVector3 n = Pit_p.Cross(Pit_m);
951  if (n.Dot(Tau_m) / Tau_m.Mag() > 0) {
952  Acoplanarity *= -1;
953  Acoplanarity += 2 * TMath::Pi();
954  }
955  // fill histograms
956  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
958  taup = tauporig;
959  taum = taumorig;
960  }
961  if (nSinglePionDecays == 2 && tautau.M() != 0) {
962  for (int i = 0; i < zsbins; i++) {
963  double zslow = ((double)i) * (zsmax - zsmin) / ((double)zsbins) + zsmin;
964  double zsup = ((double)i + 1) * (zsmax - zsmin) / ((double)zsbins) + zsmin;
965  double aup = Zstoa(zsup), alow = Zstoa(zslow);
966  if (x2 - x1 > alow && x2 - x1 < aup) {
967  double zs = (zsup + zslow) / 2;
968  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
970  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
972  break;
973  }
974  }
975  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
976  TauSpinEffectsZ_MVis->Fill(pipi.M() / tautau.M(), weight);
977  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
978  TauSpinEffectsH_MVis->Fill(pipi.M() / tautau.M(), weight);
979 
980  if (x1 != 0) {
981  const std::vector<const reco::GenParticle *> m = GetMothers(boson);
982  int q(0), qbar(0);
983  TLorentzVector Z(0, 0, 0, 0);
984  for (unsigned int i = 0; i < m.size(); i++) {
985  if (m.at(i)->pdgId() == PdtPdgMini::d || m.at(i)->pdgId() == PdtPdgMini::u) {
986  q++;
987  }
988  if (m.at(i)->pdgId() == PdtPdgMini::anti_d || m.at(i)->pdgId() == PdtPdgMini::anti_u) {
989  qbar++;
990  }
991  }
992  if (q == 1 && qbar == 1) { // assume q has largest E (valence vs see quarks)
993  if (taum.Vect().Dot(Zboson.Vect()) / (Zboson.P() * taum.P()) > 0) {
994  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
996  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
998  } else {
999  if (abs(boson->pdgId()) == PdtPdgMini::Z0)
1001  if (abs(boson->pdgId()) == PdtPdgMini::Higgs0)
1003  }
1004  }
1005  }
1006  }
1007  }
1008 }

References funct::abs(), TauDecay_GenParticle::AnalyzeTau(), PdtPdgMini::anti_d, PdtPdgMini::anti_u, ALCARECOTkAlJpsiMuMu_cff::charge, PdtPdgMini::d, reco::CompositeRefCandidateT< D >::daughter(), reco::LeafCandidate::energy(), dqm::impl::MonitorElement::Fill(), findMother(), fPDGTable, TauDecay_GenParticle::Get_TauDecayProducts(), GetMothers(), PdtPdgMini::Higgs0, mps_fire::i, createfilelist::int, leadingPionP4(), visualization-live-secondInstance_cfg::m, TauDecay::MODE_ELECTRON, TauDecay::MODE_MUON, TauDecay::MODE_PION, TauDecay::MODE_PIPI0, dqmiodumpmetadata::n, reco::CompositeRefCandidateT< D >::numberOfDaughters(), reco::LeafCandidate::pdgId(), Pi, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), submitPVResolutionJobs::q, TauSpinEffectsH_eX, TauSpinEffectsH_muX, TauSpinEffectsH_MVis, TauSpinEffectsH_pipiAcollinearity, TauSpinEffectsH_pipiAcollinearityzoom, TauSpinEffectsH_pipiAcoplanarity, TauSpinEffectsH_rhorhoAcoplanarityminus, TauSpinEffectsH_rhorhoAcoplanarityplus, TauSpinEffectsH_X, TauSpinEffectsH_Xb, TauSpinEffectsH_Xf, TauSpinEffectsH_Zs, TauSpinEffectsZ_eX, TauSpinEffectsZ_muX, TauSpinEffectsZ_MVis, TauSpinEffectsZ_X, TauSpinEffectsZ_X100to120, TauSpinEffectsZ_X120UP, TauSpinEffectsZ_X50to75, TauSpinEffectsZ_X75to88, TauSpinEffectsZ_X88to100, TauSpinEffectsZ_Xb, TauSpinEffectsZ_Xf, TauSpinEffectsZ_Zs, PdtPdgMini::u, mps_merge::weight, testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, testProducerWithPsetDescEmpty_cfi::y1, testProducerWithPsetDescEmpty_cfi::y2, Z, PdtPdgMini::Z0, zsbins, zsmax, zsmin, and Zstoa().

Referenced by analyze().

◆ tauDecayChannel()

int TauValidation::tauDecayChannel ( const reco::GenParticle tau,
int  jak_id,
unsigned int  TauBitMask,
double  weight 
)
private

Definition at line 595 of file TauValidation.cc.

595  {
596  int channel = undetermined;
597  if (tau->status() == 1)
598  channel = stable;
599  int allCount = 0, eCount = 0, muCount = 0, pi0Count = 0, piCount = 0, rhoCount = 0, a1Count = 0, KCount = 0,
600  KstarCount = 0;
601 
602  countParticles(tau, allCount, eCount, muCount, pi0Count, piCount, rhoCount, a1Count, KCount, KstarCount);
603 
604  // resonances
605  if (KCount >= 1)
606  channel = K;
607  if (KstarCount >= 1)
608  channel = Kstar;
609  if (a1Count >= 1)
610  channel = a1;
611  if (rhoCount >= 1)
612  channel = rho;
613  if (channel != undetermined && weight != 0.0)
614  TauDecayChannels->Fill(channel, weight);
615 
616  // final state products
617  if (piCount == 1 && pi0Count == 0)
618  channel = pi;
619  if (piCount == 1 && pi0Count == 1)
620  channel = pi1pi0;
621  if (piCount == 1 && pi0Count > 1)
622  channel = pinpi0;
623  if (piCount == 3 && pi0Count == 0)
624  channel = tripi;
625  if (piCount == 3 && pi0Count > 0)
626  channel = tripinpi0;
627  if (eCount == 1)
628  channel = electron;
629  if (muCount == 1)
630  channel = muon;
631  if (weight != 0.0)
632  TauDecayChannels->Fill(channel, weight);
633  return channel;
634 }

References a1, countParticles(), electron, dqm::impl::MonitorElement::Fill(), K, Kstar, muon, pi, pi1pi0, pinpi0, rho, stable, metsig::tau, TauDecayChannels, tripi, tripinpi0, and undetermined.

Referenced by analyze().

◆ tauMother()

int TauValidation::tauMother ( const reco::GenParticle tau,
double  weight 
)
private

Definition at line 563 of file TauValidation.cc.

563  {
564  if (abs(tau->pdgId()) != 15)
565  return -3;
566  int mother_pid = findMother(tau);
567  if (mother_pid == -2)
568  return -2;
569  int label = other;
570  if (abs(mother_pid) == 24)
571  label = W;
572  if (abs(mother_pid) == 23)
573  label = Z;
574  if (abs(mother_pid) == 22)
575  label = gamma;
576  if (abs(mother_pid) == 25)
577  label = HSM;
578  if (abs(mother_pid) == 35)
579  label = H0;
580  if (abs(mother_pid) == 36)
581  label = A0;
582  if (abs(mother_pid) == 37)
583  label = Hpm;
584  int mother_shortpid = (abs(mother_pid) % 10000);
585  if (mother_shortpid > 500 && mother_shortpid < 600)
586  label = B;
587  if (mother_shortpid > 400 && mother_shortpid < 500)
588  label = D;
590  if (label == B || label == D || label == other)
591  return -1;
592  return mother_pid;
593 }

References A0, funct::abs(), B, D, dqm::impl::MonitorElement::Fill(), findMother(), gamma, H0, Hpm, HSM, label, other, metsig::tau, TauMothers, W, and Z.

Referenced by analyze().

◆ tauProngs()

int TauValidation::tauProngs ( const reco::GenParticle ,
double  weight 
)
private

◆ visibleTauEnergy()

double TauValidation::visibleTauEnergy ( const reco::GenParticle tau)
private

Definition at line 1042 of file TauValidation.cc.

1042  {
1043  TLorentzVector p4(tau->px(), tau->py(), tau->pz(), tau->energy());
1044  for (unsigned int i = 0; i < tau->numberOfDaughters(); i++) {
1045  const reco::GenParticle *dau = static_cast<const reco::GenParticle *>(tau->daughter(i));
1046  int pid = dau->pdgId();
1047  if (abs(pid) == 15)
1048  return visibleTauEnergy(dau);
1049  if (abs(pid) == 12 || abs(pid) == 14 || abs(pid) == 16) {
1050  p4 -= TLorentzVector(dau->px(), dau->py(), dau->pz(), dau->energy());
1051  }
1052  }
1053  return p4.E();
1054 }

References funct::abs(), reco::LeafCandidate::energy(), mps_fire::i, p4, reco::LeafCandidate::pdgId(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), and metsig::tau.

◆ Zstoa()

double TauValidation::Zstoa ( double  zs)
private

Definition at line 1010 of file TauValidation.cc.

1010  {
1011  double a = 1 - sqrt(fabs(1.0 - 2 * fabs(zs)));
1012  if (zs < 0) {
1013  a *= -1.0;
1014  }
1015  return a;
1016 }

References a, and mathSSE::sqrt().

Referenced by spinEffectsZH().

Member Data Documentation

◆ DecayLength

MonitorElement * TauValidation::DecayLength
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ fPDGTable

edm::ESHandle<HepPDT::ParticleDataTable> TauValidation::fPDGTable
private

PDT table.

Definition at line 77 of file TauValidation.h.

Referenced by dqmBeginRun(), and spinEffectsZH().

◆ genparticleCollection_

edm::InputTag TauValidation::genparticleCollection_
private

Definition at line 74 of file TauValidation.h.

Referenced by TauValidation().

◆ genparticleCollectionToken_

edm::EDGetTokenT<reco::GenParticleCollection> TauValidation::genparticleCollectionToken_
private

Definition at line 99 of file TauValidation.h.

Referenced by analyze(), and TauValidation().

◆ LifeTime

MonitorElement * TauValidation::LifeTime
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ MODEID

MonitorElement* TauValidation::MODEID
private

Definition at line 93 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ MODEInvMass

std::vector<std::vector<MonitorElement *> > TauValidation::MODEInvMass
private

Definition at line 94 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ NMODEID

unsigned int TauValidation::NMODEID
private

Definition at line 92 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ nPrimeTaus

MonitorElement * TauValidation::nPrimeTaus
private

Definition at line 79 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ nTaus

MonitorElement* TauValidation::nTaus
private

Definition at line 79 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ TauBremPhotonsN

MonitorElement * TauValidation::TauBremPhotonsN
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauBremPhotonsPt

MonitorElement * TauValidation::TauBremPhotonsPt
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauBremPhotonsPtSum

MonitorElement * TauValidation::TauBremPhotonsPtSum
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauDecayChannels

MonitorElement * TauValidation::TauDecayChannels
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and tauDecayChannel().

◆ TauEta

MonitorElement * TauValidation::TauEta
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ TauFSRPhotonsN

MonitorElement * TauValidation::TauFSRPhotonsN
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauFSRPhotonsPt

MonitorElement * TauValidation::TauFSRPhotonsPt
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauFSRPhotonsPtSum

MonitorElement * TauValidation::TauFSRPhotonsPtSum
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and photons().

◆ TauMothers

MonitorElement * TauValidation::TauMothers
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and tauMother().

◆ TauPhi

MonitorElement * TauValidation::TauPhi
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ TauProngs

MonitorElement * TauValidation::TauProngs
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ TauPt

MonitorElement* TauValidation::TauPt
private

Definition at line 80 of file TauValidation.h.

Referenced by analyze(), and bookHistograms().

◆ TauSpinEffectsH_eX

MonitorElement * TauValidation::TauSpinEffectsH_eX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_muX

MonitorElement * TauValidation::TauSpinEffectsH_muX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_MVis

MonitorElement * TauValidation::TauSpinEffectsH_MVis
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_pipiAcollinearity

MonitorElement * TauValidation::TauSpinEffectsH_pipiAcollinearity
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_pipiAcollinearityzoom

MonitorElement * TauValidation::TauSpinEffectsH_pipiAcollinearityzoom
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_pipiAcoplanarity

MonitorElement * TauValidation::TauSpinEffectsH_pipiAcoplanarity
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_rhorhoAcoplanarityminus

MonitorElement * TauValidation::TauSpinEffectsH_rhorhoAcoplanarityminus
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_rhorhoAcoplanarityplus

MonitorElement * TauValidation::TauSpinEffectsH_rhorhoAcoplanarityplus
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_X

MonitorElement * TauValidation::TauSpinEffectsH_X
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_Xb

MonitorElement * TauValidation::TauSpinEffectsH_Xb
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_Xf

MonitorElement * TauValidation::TauSpinEffectsH_Xf
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsH_Zs

MonitorElement * TauValidation::TauSpinEffectsH_Zs
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsHpm_eX

MonitorElement * TauValidation::TauSpinEffectsHpm_eX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsHpm_muX

MonitorElement * TauValidation::TauSpinEffectsHpm_muX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsHpm_UpsilonA1

MonitorElement * TauValidation::TauSpinEffectsHpm_UpsilonA1
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsHpm_UpsilonRho

MonitorElement * TauValidation::TauSpinEffectsHpm_UpsilonRho
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsHpm_X

MonitorElement * TauValidation::TauSpinEffectsHpm_X
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsW_eX

MonitorElement * TauValidation::TauSpinEffectsW_eX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsW_muX

MonitorElement * TauValidation::TauSpinEffectsW_muX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsW_UpsilonA1

MonitorElement * TauValidation::TauSpinEffectsW_UpsilonA1
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsW_UpsilonRho

MonitorElement * TauValidation::TauSpinEffectsW_UpsilonRho
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsW_X

MonitorElement * TauValidation::TauSpinEffectsW_X
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsWHpm().

◆ TauSpinEffectsZ_eX

MonitorElement * TauValidation::TauSpinEffectsZ_eX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_muX

MonitorElement * TauValidation::TauSpinEffectsZ_muX
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_MVis

MonitorElement * TauValidation::TauSpinEffectsZ_MVis
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X

MonitorElement * TauValidation::TauSpinEffectsZ_X
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X100to120

MonitorElement * TauValidation::TauSpinEffectsZ_X100to120
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X120UP

MonitorElement * TauValidation::TauSpinEffectsZ_X120UP
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X50to75

MonitorElement * TauValidation::TauSpinEffectsZ_X50to75
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X75to88

MonitorElement * TauValidation::TauSpinEffectsZ_X75to88
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_X88to100

MonitorElement * TauValidation::TauSpinEffectsZ_X88to100
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_Xb

MonitorElement * TauValidation::TauSpinEffectsZ_Xb
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_Xf

MonitorElement * TauValidation::TauSpinEffectsZ_Xf
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ TauSpinEffectsZ_Zs

MonitorElement * TauValidation::TauSpinEffectsZ_Zs
private

Definition at line 80 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ zsbins

int TauValidation::zsbins
private

Definition at line 96 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ zsmax

double TauValidation::zsmax
private

Definition at line 97 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

◆ zsmin

double TauValidation::zsmin
private

Definition at line 97 of file TauValidation.h.

Referenced by bookHistograms(), and spinEffectsZH().

TauValidation::muon
Definition: TauValidation.h:28
TauValidation::TauBremPhotonsPt
MonitorElement * TauBremPhotonsPt
Definition: TauValidation.h:80
TauValidation::tauMother
int tauMother(const reco::GenParticle *, double weight)
Definition: TauValidation.cc:563
TauValidation::zsmin
double zsmin
Definition: TauValidation.h:97
PdtPdgMini::d
Definition: PdtPdgMini.h:7
TauDecay::MODE_PIPI0
Definition: TauDecay.h:94
mps_fire.i
i
Definition: mps_fire.py:428
TauValidation::findTauList
void findTauList(const reco::GenParticle *tau, std::vector< const reco::GenParticle * > &TauList)
Definition: TauValidation.cc:496
TauDecay::MODE_PI2PI0
Definition: TauDecay.h:96
reco::CompositeRefCandidateT::numberOfDaughters
size_t numberOfDaughters() const override
number of daughters
TauValidation::MODEID
MonitorElement * MODEID
Definition: TauValidation.h:93
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
TauValidation::TauSpinEffectsW_UpsilonA1
MonitorElement * TauSpinEffectsW_UpsilonA1
Definition: TauValidation.h:80
metsig::tau
Definition: SignAlgoResolutions.h:49
muon
Definition: MuonCocktails.h:17
reco::GenParticle
Definition: GenParticle.h:21
TauValidation::TauSpinEffectsH_rhorhoAcoplanarityminus
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityminus
Definition: TauValidation.h:80
PdtPdgMini::pi_plus
Definition: PdtPdgMini.h:56
TauValidation::countParticles
void countParticles(const reco::GenParticle *p, int &allCount, int &eCount, int &muCount, int &pi0Count, int &piCount, int &rhoCount, int &a1Count, int &KCount, int &KstarCount)
Definition: TauValidation.cc:636
reco::CompositeRefCandidateT::mother
const Candidate * mother(size_type=0) const override
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode)
zMuMuMuonUserData.beta
beta
Definition: zMuMuMuonUserData.py:10
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
mps_merge.weight
weight
Definition: mps_merge.py:88
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TauValidation::TauSpinEffectsH_pipiAcoplanarity
MonitorElement * TauSpinEffectsH_pipiAcoplanarity
Definition: TauValidation.h:80
TauValidation::findMother
int findMother(const reco::GenParticle *)
Definition: TauValidation.cc:486
TauValidation::TauSpinEffectsZ_X100to120
MonitorElement * TauSpinEffectsZ_X100to120
Definition: TauValidation.h:80
PdtPdgMini::K_plus
Definition: PdtPdgMini.h:102
reco::CompositeRefCandidateT::numberOfMothers
size_t numberOfMothers() const override
number of mothers
TauValidation::TauSpinEffectsH_X
MonitorElement * TauSpinEffectsH_X
Definition: TauValidation.h:80
PdtPdgMini::Higgs0
Definition: PdtPdgMini.h:44
PdtPdgMini::nu_mu
Definition: PdtPdgMini.h:30
TauValidation::pi
Definition: TauValidation.h:28
TauValidation::TauSpinEffectsZ_eX
MonitorElement * TauSpinEffectsZ_eX
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsH_Zs
MonitorElement * TauSpinEffectsH_Zs
Definition: TauValidation.h:80
TauValidation::TauPt
MonitorElement * TauPt
Definition: TauValidation.h:80
TauValidation::motherP4
TLorentzVector motherP4(const reco::GenParticle *)
Definition: TauValidation.cc:1037
TauValidation::TauSpinEffectsH_Xf
MonitorElement * TauSpinEffectsH_Xf
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsZ_X
MonitorElement * TauSpinEffectsZ_X
Definition: TauValidation.h:80
TauValidation::TauDecayChannels
MonitorElement * TauDecayChannels
Definition: TauValidation.h:80
TauValidation::leadingPionP4
TLorentzVector leadingPionP4(const reco::GenParticle *)
Definition: TauValidation.cc:1022
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
edm::Handle< reco::GenParticleCollection >
nanoDQM_cfi.PV
PV
Definition: nanoDQM_cfi.py:520
TauValidation::NMODEID
unsigned int NMODEID
Definition: TauValidation.h:92
TauValidation::TauSpinEffectsZ_muX
MonitorElement * TauSpinEffectsZ_muX
Definition: TauValidation.h:80
TauValidation::tripi
Definition: TauValidation.h:28
ParticleData
HepPDT::ParticleData ParticleData
Definition: ParticleDataTable.h:9
TauValidation::A0
Definition: TauValidation.h:30
TauDecay_GenParticle::AnalyzeTau
bool AnalyzeTau(const reco::GenParticle *Tau, unsigned int &MODE_ID, unsigned int &TauBitMask, bool dores, bool dopi0)
Definition: TauDecay_GenParticle.cc:11
TauValidation::TauSpinEffectsZ_Xf
MonitorElement * TauSpinEffectsZ_Xf
Definition: TauValidation.h:80
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
TauValidation::TauSpinEffectsZ_X50to75
MonitorElement * TauSpinEffectsZ_X50to75
Definition: TauValidation.h:80
testProducerWithPsetDescEmpty_cfi.y1
y1
Definition: testProducerWithPsetDescEmpty_cfi.py:29
part
part
Definition: HCALResponse.h:20
TauValidation::fPDGTable
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
Definition: TauValidation.h:77
PdtPdgMini::u
Definition: PdtPdgMini.h:9
TauValidation::H0
Definition: TauValidation.h:30
reco::LeafCandidate::py
double py() const final
y coordinate of momentum vector
Definition: LeafCandidate.h:142
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
TauValidation::TauSpinEffectsHpm_X
MonitorElement * TauSpinEffectsHpm_X
Definition: TauValidation.h:80
TauValidation::Z
Definition: TauValidation.h:30
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
TauValidation::TauSpinEffectsW_X
MonitorElement * TauSpinEffectsW_X
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsH_eX
MonitorElement * TauSpinEffectsH_eX
Definition: TauValidation.h:80
TauValidation::W
Definition: TauValidation.h:30
TauValidation::genparticleCollection_
edm::InputTag genparticleCollection_
Definition: TauValidation.h:74
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
TauValidation::tripinpi0
Definition: TauValidation.h:28
TauValidation::LifeTime
MonitorElement * LifeTime
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsZ_MVis
MonitorElement * TauSpinEffectsZ_MVis
Definition: TauValidation.h:80
TauValidation::visibleTauEnergy
double visibleTauEnergy(const reco::GenParticle *)
Definition: TauValidation.cc:1042
TauValidation::nPrimeTaus
MonitorElement * nPrimeTaus
Definition: TauValidation.h:79
TauValidation::genparticleCollectionToken_
edm::EDGetTokenT< reco::GenParticleCollection > genparticleCollectionToken_
Definition: TauValidation.h:99
TauValidation::TauMothers
MonitorElement * TauMothers
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsH_pipiAcollinearityzoom
MonitorElement * TauSpinEffectsH_pipiAcollinearityzoom
Definition: TauValidation.h:80
PdtPdgMini::pi0
Definition: PdtPdgMini.h:55
TauDecay::NMODEID
Definition: TauDecay.h:128
TauValidation::TauFSRPhotonsN
MonitorElement * TauFSRPhotonsN
Definition: TauValidation.h:80
TauValidation::Kstar
Definition: TauValidation.h:28
TauValidation::zsbins
int zsbins
Definition: TauValidation.h:96
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TauValidation::HSM
Definition: TauValidation.h:30
PdtPdgMini::pi_minus
Definition: PdtPdgMini.h:57
TauValidation::isLastTauinChain
bool isLastTauinChain(const reco::GenParticle *tau)
Definition: TauValidation.cc:488
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
TauValidation::TauSpinEffectsZ_X88to100
MonitorElement * TauSpinEffectsZ_X88to100
Definition: TauValidation.h:80
PdtPdgMini::anti_d
Definition: PdtPdgMini.h:8
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition: testProducerWithPsetDescEmpty_cfi.py:30
TauValidation::GetMother
const reco::GenParticle * GetMother(const reco::GenParticle *tau)
Definition: TauValidation.cc:465
TauDecay::MODE_3PI
Definition: TauDecay.h:95
TauValidation::findFSRandBrem
void findFSRandBrem(const reco::GenParticle *p, bool doBrem, std::vector< const reco::GenParticle * > &ListofFSR, std::vector< const reco::GenParticle * > &ListofBrem)
Definition: TauValidation.cc:506
TauValidation::FindPhotosFSR
void FindPhotosFSR(const reco::GenParticle *p, std::vector< const reco::GenParticle * > &ListofFSR, double &BosonScale)
Definition: TauValidation.cc:533
TauValidation::B
Definition: TauValidation.h:30
TauValidation::TauSpinEffectsW_muX
MonitorElement * TauSpinEffectsW_muX
Definition: TauValidation.h:80
TauValidation::Hpm
Definition: TauValidation.h:30
a
double a
Definition: hdecay.h:119
TauValidation::TauSpinEffectsH_rhorhoAcoplanarityplus
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityplus
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsHpm_muX
MonitorElement * TauSpinEffectsHpm_muX
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsH_muX
MonitorElement * TauSpinEffectsH_muX
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsH_pipiAcollinearity
MonitorElement * TauSpinEffectsH_pipiAcollinearity
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsHpm_UpsilonRho
MonitorElement * TauSpinEffectsHpm_UpsilonRho
Definition: TauValidation.h:80
TauValidation::TauProngs
MonitorElement * TauProngs
Definition: TauValidation.h:80
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
TauValidation::other
Definition: TauValidation.h:30
TauValidation::TauSpinEffectsHpm_UpsilonA1
MonitorElement * TauSpinEffectsHpm_UpsilonA1
Definition: TauValidation.h:80
TauValidation::TauPhi
MonitorElement * TauPhi
Definition: TauValidation.h:80
TauValidation::spinEffectsWHpm
void spinEffectsWHpm(const reco::GenParticle *, int, int, std::vector< const reco::GenParticle * > &part, double weight)
Definition: TauValidation.cc:670
TauValidation::TauSpinEffectsH_MVis
MonitorElement * TauSpinEffectsH_MVis
Definition: TauValidation.h:80
nanoDQM_cfi.SV
SV
Definition: nanoDQM_cfi.py:616
TauValidation::stable
Definition: TauValidation.h:28
TauValidation::TauSpinEffectsH_Xb
MonitorElement * TauSpinEffectsH_Xb
Definition: TauValidation.h:80
TauValidation::nTaus
MonitorElement * nTaus
Definition: TauValidation.h:79
TauValidation::TauFSRPhotonsPt
MonitorElement * TauFSRPhotonsPt
Definition: TauValidation.h:80
createfilelist.int
int
Definition: createfilelist.py:10
TauValidation::TauSpinEffectsZ_Xb
MonitorElement * TauSpinEffectsZ_Xb
Definition: TauValidation.h:80
iEvent
int iEvent
Definition: GenABIO.cc:224
TauValidation::DecayLength
MonitorElement * DecayLength
Definition: TauValidation.h:80
TauDecay::isTauFinalStateParticle
bool isTauFinalStateParticle(int pdgid)
Definition: TauDecay.cc:32
p4
double p4[4]
Definition: TauolaWrapper.h:92
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
TauValidation::TauSpinEffectsHpm_eX
MonitorElement * TauSpinEffectsHpm_eX
Definition: TauValidation.h:80
TauValidation::spinEffectsZH
void spinEffectsZH(const reco::GenParticle *boson, double weight)
Definition: TauValidation.cc:740
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:118
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
TauValidation::photons
void photons(const reco::GenParticle *, double weight)
Definition: TauValidation.cc:1056
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
TauDecay::DecayMode
static std::string DecayMode(unsigned int &MODE_ID)
Definition: TauDecay.cc:393
PdtPdgMini::anti_u
Definition: PdtPdgMini.h:10
PdtPdgMini::Z0
Definition: PdtPdgMini.h:41
TauValidation::Zstoa
double Zstoa(double zs)
Definition: TauValidation.cc:1010
TauValidation::TauSpinEffectsZ_Zs
MonitorElement * TauSpinEffectsZ_Zs
Definition: TauValidation.h:80
TauValidation::K
Definition: TauValidation.h:28
DQMHelper
Definition: DQMHelper.h:15
TauValidation::TauBremPhotonsN
MonitorElement * TauBremPhotonsN
Definition: TauValidation.h:80
PdtPdgMini::nu_e
Definition: PdtPdgMini.h:26
PA_ZEESkim_cff.decay
decay
Definition: PA_ZEESkim_cff.py:26
TauValidation::undetermined
Definition: TauValidation.h:28
TauDecay::MODE_ELECTRON
Definition: TauDecay.h:91
reco::LeafCandidate::p
double p() const final
magnitude of momentum vector
Definition: LeafCandidate.h:123
LV
math::XYZTLorentzVectorD LV
Definition: HLTTauDQMPlotter.h:15
TauDecay_GenParticle::Get_TauDecayProducts
std::vector< const reco::GenParticle * > Get_TauDecayProducts()
Definition: TauDecay_GenParticle.h:31
TauDecay::MODE_KPIPI
Definition: TauDecay.h:110
TauValidation::MODEInvMass
std::vector< std::vector< MonitorElement * > > MODEInvMass
Definition: TauValidation.h:94
TauValidation::zsmax
double zsmax
Definition: TauValidation.h:97
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
TauValidation::TauSpinEffectsW_eX
MonitorElement * TauSpinEffectsW_eX
Definition: TauValidation.h:80
TauValidation::gamma
Definition: TauValidation.h:30
reco::CompositeRefCandidateT::daughter
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
TauDecay::MODE_KPIK
Definition: TauDecay.h:106
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
TauValidation::TauSpinEffectsW_UpsilonRho
MonitorElement * TauSpinEffectsW_UpsilonRho
Definition: TauValidation.h:80
dqm
Definition: DQMStore.h:18
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TauValidation::TauFSRPhotonsPtSum
MonitorElement * TauFSRPhotonsPtSum
Definition: TauValidation.h:80
TauValidation::TauSpinEffectsZ_X75to88
MonitorElement * TauSpinEffectsZ_X75to88
Definition: TauValidation.h:80
TauValidation::electron
Definition: TauValidation.h:28
TauValidation::rho
Definition: TauValidation.h:28
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
TauDecay::nProng
unsigned int nProng(unsigned int &TauBitMask)
Definition: TauDecay.cc:331
TauDecay_GenParticle
Definition: TauDecay_GenParticle.h:23
TauDecay::MODE_PION
Definition: TauDecay.h:93
TauValidation::GetMothers
const std::vector< const reco::GenParticle * > GetMothers(const reco::GenParticle *boson)
Definition: TauValidation.cc:475
TauValidation::a1
Definition: TauValidation.h:28
TauValidation::TauEta
MonitorElement * TauEta
Definition: TauValidation.h:80
reco::LeafCandidate::px
double px() const final
x coordinate of momentum vector
Definition: LeafCandidate.h:140
TauValidation::pinpi0
Definition: TauValidation.h:28
reco::LeafCandidate::pz
double pz() const final
z coordinate of momentum vector
Definition: LeafCandidate.h:144
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
TauValidation::pi1pi0
Definition: TauValidation.h:28
TauValidation::TauSpinEffectsZ_X120UP
MonitorElement * TauSpinEffectsZ_X120UP
Definition: TauValidation.h:80
weight
Definition: weight.py:1
PdtPdgMini::nu_tau
Definition: PdtPdgMini.h:34
TauValidation::D
Definition: TauValidation.h:30
TauDecay::MODE_MUON
Definition: TauDecay.h:92
TauValidation::tauDecayChannel
int tauDecayChannel(const reco::GenParticle *tau, int jak_id, unsigned int TauBitMask, double weight)
Definition: TauValidation.cc:595
TauValidation::TauBremPhotonsPtSum
MonitorElement * TauBremPhotonsPtSum
Definition: TauValidation.h:80