ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/GeneratorMod.h
Revision: 1.29
Committed: Mon Jun 15 15:00:21 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_009c, Mit_009b
Changes since 1.28: +2 -2 lines
Log Message:
Added proper fwd defs plus split up complilation of MitAna/DataTree LinkDefs.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: GeneratorMod.h,v 1.28 2009/06/11 13:16:53 ceballos Exp $
3 //
4 // GeneratorMod
5 //
6 // This module collects interesting generator information and publishes collections
7 // for subsequent modules.
8 //
9 // Authors: G.Ceballos
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef MITPHYSICS_MODS_GENERATORMOD_H
13 #define MITPHYSICS_MODS_GENERATORMOD_H
14
15 #include "MitAna/TreeMod/interface/BaseMod.h"
16 #include "MitAna/DataTree/interface/MCParticleFwd.h"
17
18 class TH1D;
19 class TH2D;
20
21 namespace mithep
22 {
23 class GeneratorMod : public BaseMod
24 {
25 public:
26 GeneratorMod(const char *name="GeneratorMod",
27 const char *title="Generator information module");
28
29 const char *GetMCAllLeptonsName() const { return fMCAllLeptonsName; }
30 const char *GetMCBosonsName() const { return fMCBosonsName; }
31 const char *GetMCISRPhotonsName() const { return fMCISRPhotonsName; }
32 const char *GetMCLeptonsName() const { return fMCLeptonsName; }
33 const char *GetMCMETName() const { return fMCMETName; }
34 const char *GetMCNeutrinosName() const { return fMCNeutrinosName; }
35 const char *GetMCPartName() const { return fMCPartName; }
36 const char *GetMCPhotonsName() const { return fMCPhotonsName; }
37 const char *GetMCQuarksName() const { return fMCQuarksName; }
38 const char *GetMCRadPhotonsName() const { return fMCRadPhotonsName; }
39 const char *GetMCTausName() const { return fMCTausName; }
40 const char *GetMCqqHsName() const { return fMCqqHsName; }
41 const Bool_t GetPrintDebug() const { return fPrintDebug; }
42 Bool_t GetApplyISRFilter() const { return fApplyISRFilter; }
43 void SetApplyISRFilter(Bool_t b) { fApplyISRFilter = b; }
44 void SetEtaLeptonMax(Double_t x) { fEtaLeptonMax = x; }
45 void SetEtaPhotonMax(Double_t x) { fEtaPhotonMax = x; }
46 void SetEtaRadPhotonMax(Double_t x) { fEtaRadPhotonMax = x; }
47 void SetMCAllLeptonsName(const char * s) { fMCAllLeptonsName = s; }
48 void SetMCBosonsName(const char *s) { fMCBosonsName = s; }
49 void SetMCISRPhotonsName(const char *s) { fMCISRPhotonsName = s; }
50 void SetMCLeptonsName(const char * s) { fMCLeptonsName = s; }
51 void SetMCMETName(const char * s) { fMCMETName = s; }
52 void SetMCNeutrinosName(const char *s) { fMCNeutrinosName = s; }
53 void SetMCPartName(const char *s) { fMCPartName = s; }
54 void SetMCPhotonsName(const char *s) { fMCPhotonsName = s; }
55 void SetMCQuarksName(const char *s) { fMCQuarksName = s; }
56 void SetMCRadPhotonsName(const char *s) { fMCRadPhotonsName = s; }
57 void SetMCTausName(const char *s) { fMCTausName = s; }
58 void SetMCqqHsName(const char *s) { fMCqqHsName = s; }
59 void SetMassMaxCut(Double_t x) { fMassMaxCut = x; }
60 void SetMassMinCut(Double_t x) { fMassMinCut = x; }
61 void SetPdgIdCut(UInt_t d) { fPdgIdCut = d; }
62 void SetPrintDebug(bool b) { fPrintDebug = b; }
63 void SetPtLeptonMin(Double_t x) { fPtLeptonMin = x; }
64 void SetPtPhotonMin(Double_t x) { fPtPhotonMin = x; }
65 void SetPtRadPhotonMin(Double_t x) { fPtRadPhotonMin = x; }
66
67 protected:
68 void Process();
69 void SlaveBegin();
70
71 Bool_t fPrintDebug; //=true then print debug info
72 TString fMCPartName; //name of MCParticle branch
73 TString fMCMETName; //name of met coll
74 TString fMCLeptonsName; //name of lepton coll (from W/Z/H)
75 TString fMCAllLeptonsName; //name of lepton coll (all)
76 TString fMCTausName; //name of tau coll (hadronic decays)
77 TString fMCNeutrinosName; //name of neutrinos coll
78 TString fMCQuarksName; //name of quarks coll
79 TString fMCqqHsName; //name of qqH coll
80 TString fMCBosonsName; //name of bosons coll
81 TString fMCPhotonsName; //name of photons coll
82 TString fMCRadPhotonsName; //name of rad photons coll
83 TString fMCISRPhotonsName; //name of ISR photons coll
84 Double_t fPtLeptonMin; //pt min for leptons
85 Double_t fEtaLeptonMax; //eta max for leptons
86 Double_t fPtPhotonMin; //pt min for photons
87 Double_t fEtaPhotonMax; //eta max for photons
88 Double_t fPtRadPhotonMin; //pt min for rad photons
89 Double_t fEtaRadPhotonMax; //eta max for rad photons
90 UInt_t fPdgIdCut; //pdg id for particle used to select on mass (def=0)
91 Double_t fMassMinCut; //mass min for given PdgId particle
92 Double_t fMassMaxCut; //mass max for given PdgId particle
93 Bool_t fApplyISRFilter; //=true then apply ISR filter (def=0)
94 const MCParticleCol *fParticles; //!MCParticle branch
95 TH1D *hDGenMet[10]; //!histos for gen MET
96 TH1D *hDGenLeptons[40]; //!histos for W/Z/H leptons
97 TH1D *hDGenAllLeptons[20]; //!histos for all leptons
98 TH1D *hDGenTaus[20]; //!histos for taus
99 TH1D *hDGenNeutrinos[20]; //!histos for neutrinos
100 TH1D *hDGenQuarks[20]; //!histos for quarks
101 TH1D *hDGenWBF[20]; //!histos for WBF
102 TH1D *hDGenBosons[20]; //!histos for bosons
103 TH1D *hDGenPhotons[20]; //!histos for photons
104 TH1D *hDGenRadPhotons[20]; //!histos for rad photons
105 TH1D *hDGenISRPhotons[20]; //!histos for ISR photons
106 TH1D *hDVMass[20]; //!histos for auxiliar MG work
107
108 ClassDef(GeneratorMod, 1) // Module to gather generator information
109 };
110 }
111 #endif