1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: MVASystematicsMod.h,v 1.1 2011/12/13 21:13:22 bendavid Exp $
|
3 |
//
|
4 |
// MVASystematicsMod
|
5 |
//
|
6 |
// This module compues photon eff from Z->mumugamma
|
7 |
//
|
8 |
// Authors: F,.Stoeckli
|
9 |
//--------------------------------------------------------------------------------------------------
|
10 |
|
11 |
#ifndef MITHGG_MODS_MVASYSTEMATICSMOD_H
|
12 |
#define MITHGG_MODS_MVASYSTEMATICSMOD_H
|
13 |
|
14 |
#include "MitAna/TreeMod/interface/BaseMod.h"
|
15 |
#include "MitAna/DataTree/interface/CollectionsFwd.h"
|
16 |
#include "MitAna/DataTree/interface/PileupInfoCol.h"
|
17 |
#include "MitAna/DataCont/interface/Types.h"
|
18 |
#include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
|
19 |
#include "MitAna/DataTree/interface/MCParticleCol.h"
|
20 |
|
21 |
class TH1D;
|
22 |
class TH2D;
|
23 |
class TNtuple;
|
24 |
class MCEventInfo;
|
25 |
class PileupEnergyDensityCol;
|
26 |
class PFCandidateCol;
|
27 |
class Vertex;
|
28 |
class BaseVertex;
|
29 |
class BeamSpotCol;
|
30 |
|
31 |
class TRandom3;
|
32 |
|
33 |
namespace mithep
|
34 |
{
|
35 |
class MVASystematicsMod : public BaseMod
|
36 |
{
|
37 |
public:
|
38 |
MVASystematicsMod(const char *name = "MVASystematicsMod",
|
39 |
const char *title = "Photon Efficiency Analysis");
|
40 |
|
41 |
|
42 |
// setting all the input Names
|
43 |
void SetIsData(bool b) { fIsData = b; }
|
44 |
void SetTupleName(const char* c) { fTupleName = c; }
|
45 |
const MCParticle *FindHiggsPtAndY(Float_t& pt, Float_t& Y, Float_t& mass);
|
46 |
const SuperCluster *MatchSC(const MCParticle *p, bool &iseb);
|
47 |
|
48 |
void SetMCR9Scale(Double_t ebscale, Double_t eescale) { fMCR9ScaleEB = ebscale; fMCR9ScaleEE = eescale; }
|
49 |
|
50 |
|
51 |
protected:
|
52 |
|
53 |
void Begin();
|
54 |
void Process();
|
55 |
void SlaveBegin();
|
56 |
void SlaveTerminate();
|
57 |
void Terminate();
|
58 |
|
59 |
// Names for the input Collections
|
60 |
TString fMCParticleName;
|
61 |
TString fPVName;
|
62 |
TString fEBSCName;
|
63 |
TString fEESCName;
|
64 |
|
65 |
const MCParticleCol *fMCParticles;
|
66 |
const VertexCol *fPV;
|
67 |
const SuperClusterCol *fEBSC;
|
68 |
const SuperClusterCol *fEESC;
|
69 |
// is it Data or MC?
|
70 |
Double_t fMCR9ScaleEB;
|
71 |
Double_t fMCR9ScaleEE;
|
72 |
|
73 |
Bool_t fIsData;
|
74 |
|
75 |
TString fTupleName;
|
76 |
|
77 |
// The output Ntuple
|
78 |
TNtuple* hMVAtuple;
|
79 |
ClassDef(MVASystematicsMod, 1)
|
80 |
};
|
81 |
}
|
82 |
#endif
|