ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/MakeNtuple.h
Revision: 1.1
Committed: Fri May 25 10:10:58 2012 UTC (12 years, 11 months ago) by mingyang
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_028a, Mit_028
Log Message:
make ntuple for photon id

File Contents

# User Rev Content
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