CMS 3D CMS Logo

TauValidation.h
Go to the documentation of this file.
1 #ifndef TauValidation_H
2 #define TauValidation_H
3 
4 // framework & common header files
8 
13 
14 //DQM services
18 
21 
23 #include "TLorentzVector.h"
24 
25 class TauValidation : public DQMEDAnalyzer {
26 public:
27  // tau decays
29  // tau mother particles
30  enum { other, B, D, gamma, Z, W, HSM, H0, A0, Hpm };
31 
32 public:
33  explicit TauValidation(const edm::ParameterSet &);
34  ~TauValidation() override;
35  void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override;
36  void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override;
37  void analyze(edm::Event const &, edm::EventSetup const &) override;
38 
39 private:
40  // WeightManager wmanager_;
41 
42  int tauMother(const reco::GenParticle *, double weight);
43  int tauProngs(const reco::GenParticle *, double weight);
44  int tauDecayChannel(const reco::GenParticle *tau, int jak_id, unsigned int TauBitMask, double weight);
45  int findMother(const reco::GenParticle *);
46  bool isLastTauinChain(const reco::GenParticle *tau);
47  void spinEffectsWHpm(const reco::GenParticle *, int, int, std::vector<const reco::GenParticle *> &part, double weight);
48  void spinEffectsZH(const reco::GenParticle *boson, double weight);
49  double leadingPionMomentum(const reco::GenParticle *, double weight);
50  double visibleTauEnergy(const reco::GenParticle *);
51  TLorentzVector leadingPionP4(const reco::GenParticle *);
52  TLorentzVector motherP4(const reco::GenParticle *);
53  void photons(const reco::GenParticle *, double weight);
54  void findTauList(const reco::GenParticle *tau, std::vector<const reco::GenParticle *> &TauList);
56  bool doBrem,
57  std::vector<const reco::GenParticle *> &ListofFSR,
58  std::vector<const reco::GenParticle *> &ListofBrem);
59  void FindPhotosFSR(const reco::GenParticle *p, std::vector<const reco::GenParticle *> &ListofFSR, double &BosonScale);
61  const std::vector<const reco::GenParticle *> GetMothers(const reco::GenParticle *boson);
62  double Zstoa(double zs);
63  void countParticles(const reco::GenParticle *p,
64  int &allCount,
65  int &eCount,
66  int &muCount,
67  int &pi0Count,
68  int &piCount,
69  int &rhoCount,
70  int &a1Count,
71  int &KCount,
72  int &KstarCount);
73 
75 
78 
91 
92  unsigned int NMODEID;
94  std::vector<std::vector<MonitorElement *> > MODEInvMass;
95 
96  int zsbins;
97  double zsmin, zsmax;
98 
100 };
101 
102 #endif
MonitorElement * TauFSRPhotonsN
Definition: TauValidation.h:80
int findMother(const reco::GenParticle *)
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityplus
Definition: TauValidation.h:80
MonitorElement * TauPhi
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsW_X
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsHpm_UpsilonA1
Definition: TauValidation.h:80
MonitorElement * MODEID
Definition: TauValidation.h:93
MonitorElement * TauSpinEffectsZ_Xb
Definition: TauValidation.h:80
MonitorElement * nTaus
Definition: TauValidation.h:79
MonitorElement * DecayLength
Definition: TauValidation.h:80
std::vector< std::vector< MonitorElement * > > MODEInvMass
Definition: TauValidation.h:94
TauValidation(const edm::ParameterSet &)
MonitorElement * TauPt
Definition: TauValidation.h:80
~TauValidation() override
MonitorElement * TauSpinEffectsH_MVis
Definition: TauValidation.h:80
MonitorElement * TauMothers
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsHpm_eX
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsZ_X100to120
Definition: TauValidation.h:80
void FindPhotosFSR(const reco::GenParticle *p, std::vector< const reco::GenParticle * > &ListofFSR, double &BosonScale)
MonitorElement * TauSpinEffectsW_muX
Definition: TauValidation.h:80
MonitorElement * TauBremPhotonsN
Definition: TauValidation.h:80
void spinEffectsWHpm(const reco::GenParticle *, int, int, std::vector< const reco::GenParticle * > &part, double weight)
MonitorElement * TauSpinEffectsZ_Xf
Definition: TauValidation.h:80
bool isLastTauinChain(const reco::GenParticle *tau)
Definition: weight.py:1
MonitorElement * TauBremPhotonsPtSum
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_pipiAcoplanarity
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsHpm_UpsilonRho
Definition: TauValidation.h:80
double leadingPionMomentum(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsZ_eX
Definition: TauValidation.h:80
MonitorElement * TauProngs
Definition: TauValidation.h:80
TLorentzVector motherP4(const reco::GenParticle *)
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
MonitorElement * TauSpinEffectsH_pipiAcollinearityzoom
Definition: TauValidation.h:80
void photons(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsW_UpsilonRho
Definition: TauValidation.h:80
const reco::GenParticle * GetMother(const reco::GenParticle *tau)
MonitorElement * TauSpinEffectsZ_X88to100
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityminus
Definition: TauValidation.h:80
void analyze(edm::Event const &, edm::EventSetup const &) override
MonitorElement * TauSpinEffectsZ_X50to75
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_Xf
Definition: TauValidation.h:80
MonitorElement * TauFSRPhotonsPt
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsZ_muX
Definition: TauValidation.h:80
MonitorElement * TauDecayChannels
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_Zs
Definition: TauValidation.h:80
unsigned int NMODEID
Definition: TauValidation.h:92
MonitorElement * TauFSRPhotonsPtSum
Definition: TauValidation.h:80
int tauMother(const reco::GenParticle *, double weight)
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
const std::vector< const reco::GenParticle * > GetMothers(const reco::GenParticle *boson)
MonitorElement * TauSpinEffectsZ_MVis
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsZ_X75to88
Definition: TauValidation.h:80
double visibleTauEnergy(const reco::GenParticle *)
int tauDecayChannel(const reco::GenParticle *tau, int jak_id, unsigned int TauBitMask, double weight)
MonitorElement * TauSpinEffectsH_pipiAcollinearity
Definition: TauValidation.h:80
part
Definition: HCALResponse.h:20
MonitorElement * TauSpinEffectsZ_X
Definition: TauValidation.h:80
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
Definition: TauValidation.h:77
MonitorElement * TauSpinEffectsH_eX
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsW_eX
Definition: TauValidation.h:80
edm::EDGetTokenT< reco::GenParticleCollection > genparticleCollectionToken_
Definition: TauValidation.h:99
double Zstoa(double zs)
void findTauList(const reco::GenParticle *tau, std::vector< const reco::GenParticle * > &TauList)
void findFSRandBrem(const reco::GenParticle *p, bool doBrem, std::vector< const reco::GenParticle * > &ListofFSR, std::vector< const reco::GenParticle * > &ListofBrem)
MonitorElement * LifeTime
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_muX
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsW_UpsilonA1
Definition: TauValidation.h:80
void countParticles(const reco::GenParticle *p, int &allCount, int &eCount, int &muCount, int &pi0Count, int &piCount, int &rhoCount, int &a1Count, int &KCount, int &KstarCount)
MonitorElement * TauEta
Definition: TauValidation.h:80
edm::InputTag genparticleCollection_
Definition: TauValidation.h:74
MonitorElement * TauSpinEffectsZ_Zs
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsHpm_X
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsHpm_muX
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsZ_X120UP
Definition: TauValidation.h:80
MonitorElement * TauSpinEffectsH_Xb
Definition: TauValidation.h:80
MonitorElement * nPrimeTaus
Definition: TauValidation.h:79
MonitorElement * TauBremPhotonsPt
Definition: TauValidation.h:80
void spinEffectsZH(const reco::GenParticle *boson, double weight)
Definition: Run.h:45
int tauProngs(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsH_X
Definition: TauValidation.h:80
TLorentzVector leadingPionP4(const reco::GenParticle *)