ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/GeneratorMod.h
Revision: 1.42
Committed: Sat Oct 29 14:12:03 2011 UTC (13 years, 6 months ago) by ceballos
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_028a, Mit_028, Mit_027, Mit_027a, Mit_025e, Mit_025d
Changes since 1.41: +3 -1 lines
Log Message:
new filter

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: GeneratorMod.h,v 1.41 2011/07/04 20:36:21 sixie 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 #include "MitAna/DataTree/interface/MetFwd.h"
18
19 class TH1D;
20 class TH2D;
21
22 namespace mithep
23 {
24 class GeneratorMod : public BaseMod
25 {
26 public:
27 GeneratorMod(const char *name="GeneratorMod",
28 const char *title="Generator information module");
29 ~GeneratorMod();
30
31 Bool_t GetIsData() const { return fIsData; }
32 Bool_t GetApplyISRFilter() const { return fApplyISRFilter; }
33 Bool_t GetCopyArrays() const { return fCopyArrays; }
34 const char *GetMCAllLeptonsName() const { return fMCAllLeptonsName; }
35 const char *GetMCBosonsName() const { return fMCBosonsName; }
36 const char *GetMCISRPhotonsName() const { return fMCISRPhotonsName; }
37 const char *GetMCLeptonsName() const { return fMCLeptonsName; }
38 const char *GetMCMETName() const { return fMCMETName; }
39 const char *GetMCNeutrinosName() const { return fMCNeutrinosName; }
40 const char *GetMCPartName() const { return fMCPartName; }
41 const char *GetMCPhotonsName() const { return fMCPhotonsName; }
42 const char *GetMCQuarksName() const { return fMCQuarksName; }
43 const char *GetMCRadPhotonsName() const { return fMCRadPhotonsName; }
44 const char *GetMCTausName() const { return fMCTausName; }
45 const char *GetMCqqHsName() const { return fMCqqHsName; }
46 Bool_t GetPrintDebug() const { return fPrintDebug; }
47 void SetIsData(Bool_t b) { fIsData = b; }
48 void SetApplyISRFilter(Bool_t b) { fApplyISRFilter = b; }
49 void SetApplyVVFilter(Bool_t b) { fApplyVVFilter = b; }
50 void SetApplyVGFilter(Bool_t b) { fApplyVGFilter = b; }
51 void SetAllowWWEvents(Bool_t b) { fAllowWWEvents = b; }
52 void SetAllowWZEvents(Bool_t b) { fAllowWZEvents = b; }
53 void SetAllowZZEvents(Bool_t b) { fAllowZZEvents = b; }
54 void SetCopyArrays(Bool_t b) { fCopyArrays = b; }
55 void SetEtaLeptonMax(Double_t x) { fEtaLeptonMax = x; }
56 void SetEtaPhotonMax(Double_t x) { fEtaPhotonMax = x; }
57 void SetEtaRadPhotonMax(Double_t x) { fEtaRadPhotonMax = x; }
58 void SetMCAllLeptonsName(const char * s) { fMCAllLeptonsName = s; }
59 void SetMCBosonsName(const char *s) { fMCBosonsName = s; }
60 void SetMCISRPhotonsName(const char *s) { fMCISRPhotonsName = s; }
61 void SetMCLeptonsName(const char * s) { fMCLeptonsName = s; }
62 void SetMCMETName(const char * s) { fMCMETName = s; }
63 void SetMCNeutrinosName(const char *s) { fMCNeutrinosName = s; }
64 void SetMCPartName(const char *s) { fMCPartName = s; }
65 void SetMCPhotonsName(const char *s) { fMCPhotonsName = s; }
66 void SetMCQuarksName(const char *s) { fMCQuarksName = s; }
67 void SetMCRadPhotonsName(const char *s) { fMCRadPhotonsName = s; }
68 void SetMCTausName(const char *s) { fMCTausName = s; }
69 void SetMCqqHsName(const char *s) { fMCqqHsName = s; }
70 void SetMassMaxCut(Double_t x) { fMassMaxCut = x; }
71 void SetMassMinCut(Double_t x) { fMassMinCut = x; }
72 void SetPdgIdCut(UInt_t d) { fPdgIdCut = d; }
73 void SetPrintDebug(bool b) { fPrintDebug = b; }
74 void SetPtLeptonMin(Double_t x) { fPtLeptonMin = x; }
75 void SetPtPhotonMin(Double_t x) { fPtPhotonMin = x; }
76 void SetPtRadPhotonMin(Double_t x) { fPtRadPhotonMin = x; }
77
78 protected:
79 void Process();
80 void SlaveBegin();
81
82 Bool_t fIsData; //=true then it does nothing (def=0)
83 Bool_t fPrintDebug; //=true then print debug info (def=0)
84 Bool_t fCopyArrays; //=true then copy array content for skimming (def=0)
85 TString fMCPartName; //name of MCParticle branch
86 TString fMCMETName; //name of met coll
87 TString fMCLeptonsName; //name of lepton coll (from W/Z/H)
88 TString fMCAllLeptonsName; //name of lepton coll (all)
89 TString fMCTausName; //name of tau coll (hadronic decays)
90 TString fMCNeutrinosName; //name of neutrinos coll
91 TString fMCQuarksName; //name of quarks coll
92 TString fMCqqHsName; //name of qqH coll
93 TString fMCBosonsName; //name of bosons coll
94 TString fMCPhotonsName; //name of photons coll
95 TString fMCRadPhotonsName; //name of rad photons coll
96 TString fMCISRPhotonsName; //name of ISR photons coll
97 Double_t fPtLeptonMin; //pt min for leptons
98 Double_t fEtaLeptonMax; //eta max for leptons
99 Double_t fPtPhotonMin; //pt min for photons
100 Double_t fEtaPhotonMax; //eta max for photons
101 Double_t fPtRadPhotonMin; //pt min for rad photons
102 Double_t fEtaRadPhotonMax; //eta max for rad photons
103 UInt_t fPdgIdCut; //pdg id for particle used to select on mass (def=0)
104 Double_t fMassMinCut; //mass min for given PdgId particle
105 Double_t fMassMaxCut; //mass max for given PdgId particle
106 Bool_t fApplyISRFilter; //=true then apply ISR filter (def=0)
107 Bool_t fApplyVVFilter; //=true then apply VV filters (def=0)
108 Bool_t fApplyVGFilter; //=true then apply VG filters (def=0)
109 Bool_t fAllowWWEvents; //=true then allow WW events (def=0)
110 Bool_t fAllowWZEvents; //=true then allow WZ events (def=0)
111 Bool_t fAllowZZEvents; //=true then allow ZZ events (def=0)
112 const MCParticleCol *fParticles; //!MCParticle branch
113 TH1D *hDGenPtMin; //!histo for Pt min for leptons from W/Z
114 TH1D *hDGenMet[10]; //!histos for gen MET
115 TH1D *hDGenLeptons[40]; //!histos for W/Z/H leptons
116 TH1D *hDGenAllLeptons[20]; //!histos for all leptons
117 TH1D *hDGenTaus[20]; //!histos for taus
118 TH1D *hDGenNeutrinos[20]; //!histos for neutrinos
119 TH1D *hDGenQuarks[20]; //!histos for quarks
120 TH1D *hDGenWBF[20]; //!histos for WBF
121 TH1D *hDGenBosons[15]; //!histos for bosons
122 TH1D *hDGenPhotons[20]; //!histos for photons
123 TH1D *hDGenRadPhotons[20]; //!histos for rad photons
124 TH1D *hDGenISRPhotons[20]; //!histos for ISR photons
125 TH1D *hDVMass[20]; //!histos for auxiliar MG work
126 TH1D *hDVVMass[50]; //!histos for auxiliar VV work
127 MCParticleArr *fGenLeptons; //!copied owning array for skimming
128 MCParticleArr *fGenAllLeptons; //!copied owning array for skimming
129 MCParticleArr *fGenTaus; //!copied owning array for skimming
130 MCParticleArr *fGenNeutrinos; //!copied owning array for skimming
131 MCParticleArr *fGenQuarks; //!copied owning array for skimming
132 MCParticleArr *fGenqqHs; //!copied owning array for skimming
133 MCParticleArr *fGenBosons; //!copied owning array for skimming
134 MCParticleArr *fGenPhotons; //!copied owning array for skimming
135 MCParticleArr *fGenRadPhotons; //!copied owning array for skimming
136 MCParticleArr *fGenISRPhotons; //!copied owning array for skimming
137
138 ClassDef(GeneratorMod, 1) // Module to gather generator information
139 };
140 }
141 #endif