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 /*class TauValidation
5  *
6  * Class to fill Event Generator dqm monitor elements; works on HepMCProduct
7  *
8  * $Date: 2013/02/20 12:02:32 $
9  * $Revision: 1.18 $
10  *
11  */
12 
13 // framework & common header files
18 
23 
24 //DQM services
28 
30 
32 #include "TLorentzVector.h"
33 
35 
37 {
38  public:
39  // tau decays
40  enum {undetermined,
43  pi,
44  rho,
45  a1,
46  K,
53  // tau mother particles
54  enum {other,
55  B,
56  D,
58  Z,
59  W,
60  HSM,
61  H0,
62  A0,
63  Hpm};
64 
65  public:
66  explicit TauValidation(const edm::ParameterSet&);
67  virtual ~TauValidation();
68  virtual void beginJob();
69  virtual void endJob();
70  virtual void analyze(const edm::Event&, const edm::EventSetup&);
71  virtual void beginRun(const edm::Run&, const edm::EventSetup&);
72  virtual void endRun(const edm::Run&, const edm::EventSetup&);
73 
74  private:
75  int tauMother(const HepMC::GenParticle*, double weight);
76  int tauProngs(const HepMC::GenParticle*, double weight);
77  int tauDecayChannel(const HepMC::GenParticle*, double weight=0.0);
78  int findMother(const HepMC::GenParticle*);
80  void rtau(const HepMC::GenParticle*,int,int, double weight);
81  void spinEffectsWHpm(const HepMC::GenParticle*,int,int,std::vector<HepMC::GenParticle*> &part,double weight);
82  void spinEffectsZH(const HepMC::GenParticle* boson, double weight);
83  double leadingPionMomentum(const HepMC::GenParticle*, double weight);
84  double visibleTauEnergy(const HepMC::GenParticle*);
85  TLorentzVector leadingPionP4(const HepMC::GenParticle*);
86  TLorentzVector motherP4(const HepMC::GenParticle*);
87  void photons(const HepMC::GenParticle*, double weight);
88  void findTauList(const HepMC::GenParticle* tau,std::vector<const HepMC::GenParticle*> &TauList);
89  void findFSRandBrem(const HepMC::GenParticle* p, bool doBrem, std::vector<const HepMC::GenParticle*> &ListofFSR,
90  std::vector<const HepMC::GenParticle*> &ListofBrem);
91  void FindPhotosFSR(const HepMC::GenParticle* p,std::vector<const HepMC::GenParticle*> &ListofFSR,double &BosonScale);
93  const std::vector<HepMC::GenParticle*> GetMothers(const HepMC::GenParticle* boson);
94  double Zstoa(double zs);
95 
97 
99 
100  double tauEtCut;
101 
104 
107 
110  *TauRtauW, *TauRtauHpm,
119  *LifeTime;
120 
121  unsigned int NJAKID;
123  std::vector<std::vector<MonitorElement *> > JAKInvMass;
124 
125  int zsbins;
126  double zsmin,zsmax;
127  std::vector<int> n_taupinu;
128 };
129 
130 #endif
131 
void findTauList(const HepMC::GenParticle *tau, std::vector< const HepMC::GenParticle * > &TauList)
MonitorElement * TauFSRPhotonsN
virtual ~TauValidation()
std::vector< int > n_taupinu
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityplus
MonitorElement * TauPhi
MonitorElement * TauSpinEffectsW_X
MonitorElement * TauSpinEffectsHpm_UpsilonA1
std::vector< std::vector< MonitorElement * > > JAKInvMass
MonitorElement * TauSpinEffectsZ_Xb
MonitorElement * nTaus
MonitorElement * DecayLength
MonitorElement * TauRtauW
TauValidation(const edm::ParameterSet &)
MonitorElement * TauPt
MonitorElement * TauSpinEffectsH_MVis
void spinEffectsZH(const HepMC::GenParticle *boson, double weight)
MonitorElement * TauMothers
MonitorElement * TauSpinEffectsHpm_eX
MonitorElement * TauSpinEffectsW_muX
MonitorElement * TauBremPhotonsN
MonitorElement * JAKID
MonitorElement * TauSpinEffectsZ_Xf
int tauProngs(const HepMC::GenParticle *, double weight)
MonitorElement * TauBremPhotonsPtSum
virtual void endJob()
MonitorElement * TauSpinEffectsH_pipiAcoplanarity
MonitorElement * TauSpinEffectstautau_polvxM
MonitorElement * TauSpinEffectsHpm_UpsilonRho
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * TauSpinEffectsZ_eX
int findMother(const HepMC::GenParticle *)
MonitorElement * TauProngs
int tauMother(const HepMC::GenParticle *, double weight)
int tauDecayChannel(const HepMC::GenParticle *, double weight=0.0)
MonitorElement * TauSpinEffectsH_pipiAcollinearityzoom
const std::vector< HepMC::GenParticle * > GetMothers(const HepMC::GenParticle *boson)
MonitorElement * TauSpinEffectsW_UpsilonRho
void photons(const HepMC::GenParticle *, double weight)
MonitorElement * TauSpinEffectsH_rhorhoAcoplanarityminus
double leadingPionMomentum(const HepMC::GenParticle *, double weight)
virtual void beginJob()
MonitorElement * TauSpinEffectsH_Xf
MonitorElement * TauFSRPhotonsPt
MonitorElement * TauSpinEffectsZ_muX
MonitorElement * TauDecayChannels
edm::InputTag hepmcCollection_
Definition: TauValidation.h:98
MonitorElement * TauSpinEffectsH_Zs
MonitorElement * TauFSRPhotonsPtSum
double visibleTauEnergy(const HepMC::GenParticle *)
TLorentzVector leadingPionP4(const HepMC::GenParticle *)
bool isLastTauinChain(const HepMC::GenParticle *tau)
MonitorElement * TauSpinEffectsZ_MVis
MonitorElement * TauSpinEffectsH_pipiAcollinearity
TLorentzVector motherP4(const HepMC::GenParticle *)
void rtau(const HepMC::GenParticle *, int, int, double weight)
WeightManager _wmanager
Definition: TauValidation.h:96
part
Definition: HCALResponse.h:21
void FindPhotosFSR(const HepMC::GenParticle *p, std::vector< const HepMC::GenParticle * > &ListofFSR, double &BosonScale)
MonitorElement * TauSpinEffectsZ_X
virtual void endRun(const edm::Run &, const edm::EventSetup &)
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
MonitorElement * TauSpinEffectsH_eX
MonitorElement * TauSpinEffectsW_eX
double Zstoa(double zs)
const HepMC::GenParticle * GetMother(const HepMC::GenParticle *tau)
void spinEffectsWHpm(const HepMC::GenParticle *, int, int, std::vector< HepMC::GenParticle * > &part, double weight)
MonitorElement * LifeTime
MonitorElement * TauSpinEffectsH_muX
MonitorElement * TauSpinEffectsW_UpsilonA1
MonitorElement * TauEta
DQMStore * dbe
ME&#39;s &quot;container&quot;.
void findFSRandBrem(const HepMC::GenParticle *p, bool doBrem, std::vector< const HepMC::GenParticle * > &ListofFSR, std::vector< const HepMC::GenParticle * > &ListofBrem)
unsigned int NJAKID
MonitorElement * TauSpinEffectsZ_Zs
MonitorElement * TauSpinEffectsHpm_X
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * TauSpinEffectsHpm_muX
MonitorElement * TauSpinEffectsH_Xb
MonitorElement * nPrimeTaus
MonitorElement * TauBremPhotonsPt
MonitorElement * TauRtauHpm
Definition: Run.h:33
MonitorElement * TauSpinEffectsH_X