1 |
mingyang |
1.1 |
//$Id:MakeNtuple.h,v 1.1 2011/07/12 Mingming Yang
|
2 |
|
|
|
3 |
|
|
#ifndef MITHGG_MODS_MAKENTUPLE_H
|
4 |
|
|
#define MITHGG_MODS_MAKENTUPLE_H
|
5 |
|
|
|
6 |
|
|
#include "MitAna/TreeMod/interface/BaseMod.h"
|
7 |
|
|
#include "MitAna/DataTree/interface/CollectionsFwd.h"
|
8 |
|
|
#include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
|
9 |
|
|
#include "MitAna/DataTree/interface/PileupInfoCol.h"
|
10 |
|
|
#include "MitPhysics/Utils/interface/PhotonTools.h"
|
11 |
|
|
#include "MitPhysics/Utils/interface/MVATools.h"
|
12 |
|
|
|
13 |
|
|
#include "MitAna/DataTree/interface/PhotonCol.h"
|
14 |
|
|
#include "MitAna/DataTree/interface/ElectronCol.h"
|
15 |
|
|
#include "MitAna/DataTree/interface/VertexCol.h"
|
16 |
|
|
#include "MitAna/DataTree/interface/TrackCol.h"
|
17 |
|
|
#include "MitAna/DataTree/interface/MCParticleCol.h"
|
18 |
|
|
#include "MitAna/DataTree/interface/MCEventInfo.h"
|
19 |
|
|
#include "MitAna/DataTree/interface/CollectionsFwd.h"
|
20 |
|
|
#include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
|
21 |
|
|
#include "MitPhysics/Utils/interface/VertexTools.h"
|
22 |
|
|
|
23 |
|
|
class TH1D;
|
24 |
|
|
class MCEventInfo;
|
25 |
|
|
class IClassifierReader;
|
26 |
|
|
class ClusteringModuleCl3d;
|
27 |
|
|
|
28 |
|
|
class TNtuple;
|
29 |
|
|
|
30 |
|
|
namespace mithep
|
31 |
|
|
{
|
32 |
|
|
class MakeNtuple : public BaseMod
|
33 |
|
|
{
|
34 |
|
|
public:
|
35 |
|
|
MakeNtuple(const char *name = "MakeNtuple", const char *title="Make Ntuple");
|
36 |
|
|
|
37 |
|
|
protected:
|
38 |
|
|
void Process();
|
39 |
|
|
void SlaveBegin();
|
40 |
|
|
|
41 |
|
|
void SetTrigObjsName(const char *name) { fTrigObjsName = name; }
|
42 |
|
|
void SetPhotonName(TString name) { fPhotonName=name; }
|
43 |
|
|
void SetPhotonsFromBranch(Bool_t b) { fPhotonsFromBranch = b; }
|
44 |
|
|
void SetIsData(Bool_t b) { fIsData = b; }
|
45 |
|
|
void SetIsSignal(Bool_t b) { fIsSignal = b; }
|
46 |
|
|
void SetOverlapCut(double c) { fOverlapCut = c; }
|
47 |
|
|
int MatchRecPhotonsToGenPhotonsReal(const Photon *photonRec);
|
48 |
|
|
void FillPhotonTree(const Photon *p,const Photon *p_accompany,const Vertex *SelVtx,const PFCandidateCol *fPFCands,Float_t GenPhotonID,Float_t GenPhotonMotherID,Float_t VtxProb, Float_t EventNum,Float_t _decayZ);
|
49 |
|
|
void FindHiggsPtAndZ(Float_t& pt, Float_t& decayZ, Float_t& mass);
|
50 |
|
|
|
51 |
|
|
Bool_t fPhotonsFromBranch;
|
52 |
|
|
Bool_t fIsData; // looking at Data (or MC)
|
53 |
|
|
Bool_t fIsSignal;
|
54 |
|
|
Bool_t fApplyElectronVeto;
|
55 |
|
|
Bool_t finvertElectronVeto;
|
56 |
|
|
TString fTrigObjsName; // name of trigger objects
|
57 |
|
|
TString fPhotonName;
|
58 |
|
|
TString fElectronName;
|
59 |
|
|
TString fTrackBranchName;
|
60 |
|
|
TString fPVName;
|
61 |
|
|
TString fPileUpDenName;
|
62 |
|
|
TString fMcEventInfoName;
|
63 |
|
|
TString fMcParticleName;
|
64 |
|
|
TString fPileupInfoName;
|
65 |
|
|
TString fBeamSpotName;
|
66 |
|
|
TString fConversionName;
|
67 |
|
|
TString fPFCandName;
|
68 |
|
|
const PhotonCol *fPhotons; //! photon from data stream
|
69 |
|
|
const ElectronCol *fElectrons;
|
70 |
|
|
const TrackCol *fTracks;
|
71 |
|
|
const VertexCol *fPV;
|
72 |
|
|
const PileupEnergyDensityCol *fPileUpDen;
|
73 |
|
|
const MCEventInfo *fMcEventInfo; //! MC event information branch
|
74 |
|
|
const PileupInfoCol *fPileupInfos; //
|
75 |
|
|
const MCParticleCol *fMcParticles;
|
76 |
|
|
const BeamSpotCol *fBeamSpot;
|
77 |
|
|
const DecayParticleCol *fConversions;
|
78 |
|
|
const PFCandidateCol *fPFCands;
|
79 |
|
|
double fPhotonPtMin;
|
80 |
|
|
double fOverlapCut; // cut to allow for rejection of overlap
|
81 |
|
|
Float_t fprocessid;
|
82 |
|
|
Float_t fNVertexesGenPile;
|
83 |
|
|
Float_t fMatchedGenPhotonID;
|
84 |
|
|
Float_t fMatchedGenPhotonMotherID;
|
85 |
|
|
TNtuple *hPhotonNtuple;
|
86 |
|
|
VertexTools fVtxTools;
|
87 |
|
|
ClassDef(MakeNtuple, 1) // Make Ntuple module
|
88 |
|
|
};
|
89 |
|
|
}
|
90 |
|
|
#endif
|