1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
loizides |
1.7 |
// $Id: GeneratorMod.h,v 1.6 2008/11/24 14:13:20 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 |
loizides |
1.1 |
~GeneratorMod() {}
|
29 |
loizides |
1.4 |
|
30 |
loizides |
1.5 |
Bool_t GetFillHist() const { return fFillHist; }
|
31 |
|
|
const char *GetMCPartName() const { return fMCPartName; }
|
32 |
|
|
const char *GSetMCLeptonsName() const { return fMCLeptonsName; }
|
33 |
|
|
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 |
|
|
void SetFillHist(Bool_t b) { fFillHist = b; }
|
40 |
loizides |
1.4 |
void SetMCPartName(const char *s) { fMCPartName = s; }
|
41 |
|
|
void SetMCLeptonsName(const char * s) { fMCLeptonsName = s; }
|
42 |
|
|
void SetMCAllLeptonsName(const char * s) { fMCAllLeptonsName = s; }
|
43 |
|
|
void SetMCTausName(const char *s) { fMCTausName = s; }
|
44 |
|
|
void SetMCNeutrinosName(const char *s) { fMCNeutrinosName = s; }
|
45 |
|
|
void SetMCQuarksName(const char *s) { fMCQuarksName = s; }
|
46 |
|
|
void SetMCqqHsName(const char *s) { fMCqqHsName = s; }
|
47 |
|
|
void SetMCBosonsName(const char *s) { fMCBosonsName = s; }
|
48 |
|
|
|
49 |
loizides |
1.1 |
protected:
|
50 |
loizides |
1.4 |
Bool_t fFillHist; //=true then fill histos (def=0)
|
51 |
|
|
TString fMCPartName; //name of MCParticle branch
|
52 |
|
|
TString fMCLeptonsName ; //name of lepton coll (from W)
|
53 |
|
|
TString fMCAllLeptonsName ; //name of lepton coll (all)
|
54 |
loizides |
1.6 |
TString fMCTausName; //name of tau coll (hadronic decays)
|
55 |
loizides |
1.4 |
TString fMCNeutrinosName; //name of neutrinos coll
|
56 |
|
|
TString fMCQuarksName; //name of quarks coll
|
57 |
|
|
TString fMCqqHsName; //name of qqH coll
|
58 |
|
|
TString fMCBosonsName; //name of bosons coll
|
59 |
loizides |
1.7 |
MCParticleCol *fParticles; //!MCParticle branch
|
60 |
loizides |
1.4 |
TH1D *hDGenLeptons[20]; //!histos for W leptons
|
61 |
|
|
TH1D *hDGenAllLeptons[20]; //!histos for all leptons
|
62 |
|
|
TH1D *hDGenTaus[20]; //!histos for taus
|
63 |
|
|
TH1D *hDGenNeutrinos[20]; //!histos for neutrinos
|
64 |
|
|
TH1D *hDGenQuarks[20]; //!histos for quarks
|
65 |
|
|
TH1D *hDGenWBF[20]; //!histos for WBF
|
66 |
|
|
TH1D *hDGenBosons[20]; //!histos for bosons
|
67 |
loizides |
1.1 |
|
68 |
|
|
void Process();
|
69 |
|
|
void SlaveBegin();
|
70 |
|
|
|
71 |
loizides |
1.4 |
ClassDef(GeneratorMod,1) // Module to gather generator information
|
72 |
loizides |
1.1 |
};
|
73 |
|
|
}
|
74 |
|
|
#endif
|