1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
ceballos |
1.3 |
// $Id: GeneratorMod.h,v 1.2 2008/11/05 14:06:06 ceballos Exp $
|
3 |
loizides |
1.1 |
//
|
4 |
|
|
// GeneratorMod
|
5 |
|
|
//
|
6 |
|
|
// This module finds interesting generator information
|
7 |
|
|
//
|
8 |
|
|
// Authors: ceballos
|
9 |
|
|
//--------------------------------------------------------------------------------------------------
|
10 |
|
|
|
11 |
|
|
#ifndef MITANA_TREEMOD_GENERATORMOD_H
|
12 |
|
|
#define MITANA_TREEMOD_GENERATORMOD_H
|
13 |
|
|
|
14 |
|
|
#include "MitAna/TreeMod/interface/BaseMod.h"
|
15 |
|
|
#include "MitAna/DataTree/interface/Collections.h"
|
16 |
|
|
|
17 |
|
|
class TH1D;
|
18 |
|
|
class TH2D;
|
19 |
|
|
|
20 |
|
|
namespace mithep
|
21 |
|
|
{
|
22 |
|
|
class GeneratorMod : public BaseMod
|
23 |
|
|
{
|
24 |
|
|
public:
|
25 |
|
|
GeneratorMod(const char *name="GeneratorMod",
|
26 |
|
|
const char *title="generator information");
|
27 |
|
|
~GeneratorMod() {}
|
28 |
ceballos |
1.2 |
void SetPrintDebug(bool b) { fPrintDebug = b;}
|
29 |
|
|
void SetFillHist(bool b) { fFillHist = b;}
|
30 |
|
|
void SetIsMC(bool b) { fIsMC = b;}
|
31 |
|
|
void SetMCPartName(TString s) { fMCPartName = s;}
|
32 |
|
|
void SetMCLeptonsName(TString s) { fMCLeptonsName = s;}
|
33 |
|
|
void SetMCAllLeptonsName(TString s){ fMCAllLeptonsName = s;}
|
34 |
|
|
void SetMCTausName(TString s) { fMCTausName = s;}
|
35 |
|
|
void SetMCNeutrinosName(TString s) { fMCNeutrinosName = s;}
|
36 |
|
|
void SetMCQuarksName(TString s) { fMCQuarksName = s;}
|
37 |
|
|
void SetMCqqHsName(TString s) { fMCqqHsName = s;}
|
38 |
|
|
void SetMCBosonsName(TString s) { fMCBosonsName = s;}
|
39 |
loizides |
1.1 |
protected:
|
40 |
|
|
bool fPrintDebug; // debug output
|
41 |
|
|
bool fFillHist; // Fill histograms?
|
42 |
|
|
bool fIsMC; // is MC?
|
43 |
|
|
TString fMCPartName; // generator coll
|
44 |
ceballos |
1.2 |
TString fMCLeptonsName ; // new lepton coll (From W)
|
45 |
|
|
TString fMCAllLeptonsName ; // new lepton coll (all)
|
46 |
loizides |
1.1 |
TString fMCTausName; // new tau coll
|
47 |
|
|
TString fMCNeutrinosName; // new Neutrinos coll
|
48 |
|
|
TString fMCQuarksName; // new Quarks coll
|
49 |
|
|
TString fMCqqHsName; // new qqH coll
|
50 |
|
|
TString fMCBosonsName; // new Bosons coll
|
51 |
|
|
MCParticleCol *fParticles; // GenParticle branch
|
52 |
|
|
int fNEventsProcessed; // Number of events
|
53 |
|
|
|
54 |
ceballos |
1.3 |
TH1D *hDEvents;
|
55 |
loizides |
1.1 |
TH1D *hDGenLeptons[20];
|
56 |
ceballos |
1.2 |
TH1D *hDGenAllLeptons[20];
|
57 |
loizides |
1.1 |
TH1D *hDGenTaus[20];
|
58 |
|
|
TH1D *hDGenNeutrinos[20];
|
59 |
|
|
TH1D *hDGenQuarks[20];
|
60 |
|
|
TH1D *hDGenWBF[20];
|
61 |
|
|
TH1D *hDGenBosons[20];
|
62 |
|
|
|
63 |
|
|
void Begin();
|
64 |
|
|
void Process();
|
65 |
|
|
void SlaveBegin();
|
66 |
|
|
void SlaveTerminate();
|
67 |
|
|
void Terminate();
|
68 |
|
|
|
69 |
|
|
|
70 |
|
|
ClassDef(GeneratorMod,1) // TAM example analysis module
|
71 |
|
|
};
|
72 |
|
|
}
|
73 |
|
|
#endif
|