CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
19 
22 
24 #include "TLorentzVector.h"
25 
27 
29 {
30  public:
31  // tau decays
32  enum {undetermined,
35  pi,
36  rho,
37  a1,
38  K,
45  // tau mother particles
46  enum {other,
47  B,
48  D,
50  Z,
51  W,
52  HSM,
53  H0,
54  A0,
55  Hpm};
56 
57  public:
58  explicit TauValidation(const edm::ParameterSet&);
59  virtual ~TauValidation();
60  virtual void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override;
61  virtual void dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) override;
62  virtual void analyze(edm::Event const&, edm::EventSetup const&) override;
63  private:
65 
66  int tauMother(const reco::GenParticle*, double weight);
67  int tauProngs(const reco::GenParticle*, double weight);
68  int tauDecayChannel(const reco::GenParticle* tau,int jak_id,unsigned int TauBitMask, double weight);
69  int findMother(const reco::GenParticle*);
71  void spinEffectsWHpm(const reco::GenParticle*,int,int,std::vector<const reco::GenParticle*> &part,double weight);
72  void spinEffectsZH(const reco::GenParticle* boson, double weight);
73  double leadingPionMomentum(const reco::GenParticle*, double weight);
74  double visibleTauEnergy(const reco::GenParticle*);
75  TLorentzVector leadingPionP4(const reco::GenParticle*);
76  TLorentzVector motherP4(const reco::GenParticle*);
77  void photons(const reco::GenParticle*, double weight);
78  void findTauList(const reco::GenParticle* tau,std::vector<const reco::GenParticle*> &TauList);
79  void findFSRandBrem(const reco::GenParticle* p, bool doBrem, std::vector<const reco::GenParticle*> &ListofFSR,
80  std::vector<const reco::GenParticle*> &ListofBrem);
81  void FindPhotosFSR(const reco::GenParticle* p,std::vector<const reco::GenParticle*> &ListofFSR,double &BosonScale);
83  const std::vector<const reco::GenParticle*> GetMothers(const reco::GenParticle* boson);
84  double Zstoa(double zs);
85  void countParticles(const reco::GenParticle* p,int &allCount, int &eCount, int &muCount,
86  int &pi0Count,int &piCount,int &rhoCount,int &a1Count,int &KCount,int &KstarCount);
87 
90 
93 
105  *LifeTime;
106 
107  unsigned int NMODEID;
109  std::vector<std::vector<MonitorElement *> > MODEInvMass;
110 
111  int zsbins;
112  double zsmin,zsmax;
113 
116 };
117 
118 #endif
119 
MonitorElement * TauFSRPhotonsN
Definition: TauValidation.h:95
int i
Definition: DBlmapReader.cc:9
int findMother(const reco::GenParticle *)
virtual ~TauValidation()
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityplus
Definition: TauValidation.h:95
MonitorElement * TauPhi
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsW_X
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsHpm_UpsilonA1
Definition: TauValidation.h:95
MonitorElement * MODEID
MonitorElement * TauSpinEffectsZ_Xb
Definition: TauValidation.h:95
MonitorElement * nTaus
Definition: TauValidation.h:94
WeightManager wmanager_
Definition: TauValidation.h:64
MonitorElement * DecayLength
Definition: TauValidation.h:95
std::vector< std::vector< MonitorElement * > > MODEInvMass
TauValidation(const edm::ParameterSet &)
MonitorElement * TauPt
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsH_MVis
Definition: TauValidation.h:95
MonitorElement * TauMothers
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsHpm_eX
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsZ_X100to120
Definition: TauValidation.h:95
void FindPhotosFSR(const reco::GenParticle *p, std::vector< const reco::GenParticle * > &ListofFSR, double &BosonScale)
MonitorElement * TauSpinEffectsW_muX
Definition: TauValidation.h:95
MonitorElement * TauBremPhotonsN
Definition: TauValidation.h:95
void spinEffectsWHpm(const reco::GenParticle *, int, int, std::vector< const reco::GenParticle * > &part, double weight)
MonitorElement * TauSpinEffectsZ_Xf
Definition: TauValidation.h:95
bool isLastTauinChain(const reco::GenParticle *tau)
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * TauBremPhotonsPtSum
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsH_pipiAcoplanarity
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsHpm_UpsilonRho
Definition: TauValidation.h:95
double leadingPionMomentum(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsZ_eX
Definition: TauValidation.h:95
MonitorElement * TauProngs
Definition: TauValidation.h:95
TLorentzVector motherP4(const reco::GenParticle *)
virtual void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
MonitorElement * TauSpinEffectsH_pipiAcollinearityzoom
Definition: TauValidation.h:95
void photons(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsW_UpsilonRho
Definition: TauValidation.h:95
const reco::GenParticle * GetMother(const reco::GenParticle *tau)
MonitorElement * TauSpinEffectsZ_X88to100
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityminus
Definition: TauValidation.h:95
virtual void analyze(edm::Event const &, edm::EventSetup const &) override
MonitorElement * TauSpinEffectsZ_X50to75
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsH_Xf
Definition: TauValidation.h:95
MonitorElement * TauFSRPhotonsPt
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsZ_muX
Definition: TauValidation.h:95
MonitorElement * TauDecayChannels
Definition: TauValidation.h:95
edm::InputTag hepmcCollection_
Definition: TauValidation.h:89
MonitorElement * TauSpinEffectsH_Zs
Definition: TauValidation.h:95
unsigned int NMODEID
MonitorElement * TauFSRPhotonsPtSum
Definition: TauValidation.h:95
int tauMother(const reco::GenParticle *, double weight)
virtual 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:95
MonitorElement * TauSpinEffectsZ_X75to88
Definition: TauValidation.h:95
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:95
part
Definition: HCALResponse.h:20
MonitorElement * TauSpinEffectsZ_X
Definition: TauValidation.h:95
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
Definition: TauValidation.h:92
MonitorElement * TauSpinEffectsH_eX
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsW_eX
Definition: TauValidation.h:95
edm::EDGetTokenT< reco::GenParticleCollection > genparticleCollectionToken_
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:95
MonitorElement * TauSpinEffectsH_muX
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsW_UpsilonA1
Definition: TauValidation.h:95
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:95
edm::InputTag genparticleCollection_
Definition: TauValidation.h:88
MonitorElement * TauSpinEffectsZ_Zs
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsHpm_X
Definition: TauValidation.h:95
int weight
Definition: histoStyle.py:50
MonitorElement * TauSpinEffectsHpm_muX
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsZ_X120UP
Definition: TauValidation.h:95
MonitorElement * TauSpinEffectsH_Xb
Definition: TauValidation.h:95
MonitorElement * nPrimeTaus
Definition: TauValidation.h:94
MonitorElement * TauBremPhotonsPt
Definition: TauValidation.h:95
void spinEffectsZH(const reco::GenParticle *boson, double weight)
Definition: Run.h:41
int tauProngs(const reco::GenParticle *, double weight)
MonitorElement * TauSpinEffectsH_X
Definition: TauValidation.h:95
TLorentzVector leadingPionP4(const reco::GenParticle *)