ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/GeneratorMod.h
Revision: 1.23
Committed: Fri Apr 17 13:45:21 2009 UTC (16 years ago) by ceballos
Content type: text/plain
Branch: MAIN
Changes since 1.22: +16 -1 lines
Log Message:
adding MC photon info

File Contents

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