ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonCiCMod.h
Revision: 1.3
Committed: Wed Jun 29 18:28:05 2011 UTC (13 years, 10 months ago) by fabstoec
Content type: text/plain
Branch: MAIN
Changes since 1.2: +6 -2 lines
Log Message:
updated CiC module

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: PhotonCiCMod.h,v 1.2 2011/06/27 12:32:53 fabstoec Exp $
3 //
4 // PhotonCiCMod
5 //
6 // This module applies photon identification criteria and exports a pointer to a collection
7 // of "good photons" according to the specified identification scheme.
8 //
9 // Authors: S.Xie, C.Loizides
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef MITPHYSICS_MODS_PHOTONCICMOD_H
13 #define MITPHYSICS_MODS_PHOTONCICMOD_H
14
15 #include "MitAna/TreeMod/interface/BaseMod.h"
16 #include "MitAna/DataTree/interface/PhotonFwd.h"
17 #include "MitAna/DataTree/interface/TrackCol.h"
18 #include "MitAna/DataTree/interface/VertexCol.h"
19 #include "MitAna/DataTree/interface/BeamSpotCol.h"
20 #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
21 #include "MitAna/DataTree/interface/DecayParticleCol.h"
22 #include "MitAna/DataTree/interface/ElectronCol.h"
23 #include "MitAna/DataTree/interface/DecayParticleCol.h"
24
25 class TNtuple;
26
27 namespace mithep
28 {
29 class PhotonCiCMod : public BaseMod
30 {
31 public:
32 PhotonCiCMod(const char *name="PhotonCiCMod",
33 const char *title="Photon identification module");
34
35 Bool_t GetApplySpikeRemoval() const { return fApplySpikeRemoval; }
36 const char *GetGoodName() const { return GetGoodPhotonsName(); }
37 const char *GetGoodPhotonsName() const { return fGoodPhotonsName; }
38 const char *GetInputName() const { return fPhotonBranchName; }
39 const char *GetOutputName() const { return GetGoodPhotonsName(); }
40 Double_t GetPtMin() const { return fPhotonPtMin; }
41 Double_t GetAbsEtaMax() const { return fAbsEtaMax; }
42 void SetApplySpikeRemoval(Bool_t b) { fApplySpikeRemoval = b; }
43 void SetGoodName(const char *n) { SetGoodPhotonsName(n); }
44 void SetGoodPhotonsName(const char *n) { fGoodPhotonsName = n; }
45 void SetInputName(const char *n) { fPhotonBranchName= n; }
46 void SetTrackName(const char *n) { fTrackBranchName = n; }
47 void SetOutputName(const char *n) { SetGoodPhotonsName(n); }
48 void SetPtMin(Double_t pt) { fPhotonPtMin = pt; }
49 void SetAbsEtaMax(Double_t x) { fAbsEtaMax = x; }
50
51 void SetPVName (TString s) {fPVName = s; fPVFromBranch = false;};
52
53 protected:
54 void Process();
55 void SlaveBegin();
56 unsigned int findBestVertex(Photon* ph1, Photon* ph2, const BaseVertex* bsp, bool print=false);
57
58 TString fPhotonBranchName; //name of photon collection (input)
59 TString fGoodPhotonsName; //name of exported "good photon" collection
60 TString fTrackBranchName; // name of the track collection (only needed for PU corrected isolation)
61 TString fPileUpDenName; //name of the PU density collection
62 TString fElectronName;
63 Double_t fPhotonPtMin; //min pt cut
64 Bool_t fApplySpikeRemoval; //whether apply spike removal
65 Double_t fAbsEtaMax; //max Abs Eta
66 const PhotonCol *fPhotons; //!photon branch
67 const TrackCol *fTracks; //!track branch
68 const PileupEnergyDensityCol *fPileUpDen; //!rho branch
69 const ElectronCol *fElectrons; //!electron branch
70
71 TString fPVName;
72 const VertexCol *fPV;
73 Bool_t fPVFromBranch;
74
75 const DecayParticleCol *fConversions;
76 TString fConversionName;
77
78 const BeamSpotCol *fBeamspot;
79
80 Double_t fDataEnCorr_EB_hR9;
81 Double_t fDataEnCorr_EB_lR9;
82 Double_t fDataEnCorr_EE_hR9;
83 Double_t fDataEnCorr_EE_lR9;
84
85 TNtuple* hCiCTuple;
86
87 ClassDef(PhotonCiCMod, 1) // Photon identification module
88 };
89 }
90 #endif