ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonIDMod.h
Revision: 1.3
Committed: Wed Dec 3 10:19:13 2008 UTC (16 years, 5 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.2: +5 -5 lines
Log Message:
Changes from the computing people :-)

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.3 // $Id: PhotonIDMod.h,v 1.2 2008/12/03 09:52:55 ceballos Exp $
3 sixie 1.1 //
4     // PhotonIDMod
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_PHOTONIDMOD_H
13     #define MITPHYSICS_MODS_PHOTONIDMOD_H
14    
15     #include "MitAna/TreeMod/interface/BaseMod.h"
16     #include "MitAna/DataTree/interface/Collections.h"
17    
18     namespace mithep
19     {
20     class PhotonIDMod : public BaseMod
21     {
22     public:
23     PhotonIDMod(const char *name="PhotonIDMod",
24 loizides 1.3 const char *title="Photon identification module");
25 sixie 1.1 ~PhotonIDMod() {}
26    
27 ceballos 1.2 void SetPhotonBranchName(const char *n) { fPhotonBranchName= n; }
28     void SetGoodPhotonsName(const char *n) { fGoodPhotonsName = n; }
29     void SetPhotonIDType(const char *type) { fPhotonIDType = type; }
30     void SetPhotonIsoType(const char *type) { fPhotonIsoType = type; }
31     void SetPhotonPtMin(Double_t pt) { fPhotonPtMin = pt; }
32     void SetHadOverEmMax(Double_t hovere) { fHadOverEmMax = hovere; }
33     void SetPhotonPtMin(Bool_t b) { fApplyPixelSeed = b; }
34 sixie 1.1
35    
36     enum EPhIdType {
37     kIdUndef = 0, //not defined
38     kTight, //"Tight"
39     kLoose, //"Loose"
40 ceballos 1.2 kLooseEM, //"LooseEM"
41 sixie 1.1 kCustomId //"Custom"
42     };
43     enum EPhIsoType {
44     kIsoUndef = 0, //not defined
45     kNoIso, //"NoIso"
46 ceballos 1.2 kCombinedIso, //"CombinedIso"
47 sixie 1.1 kCustomIso //"Custom"
48     };
49    
50     protected:
51     TString fPhotonBranchName; //branch name of electron collection
52     TString fGoodPhotonsName; //name of exported "good electrons" collection
53 ceballos 1.2 TString fPhotonIDType; //type of electron ID we impose
54     TString fPhotonIsoType; //type of electron Isolation we impose
55     Double_t fPhotonPtMin; //min pt cut
56 loizides 1.3 Double_t fHadOverEmMax; //!maximum of hadronic/em energy
57     Bool_t fApplyPixelSeed; //!=true then apply PixelSeed
58     PhotonCol *fPhotons; //!photon branch
59 ceballos 1.2 EPhIdType fPhIdType; //!identification scheme
60     EPhIsoType fPhIsoType; //!isolation scheme
61 sixie 1.1
62     void Process();
63     void SlaveBegin();
64    
65     ClassDef(PhotonIDMod,1) // Photon identification module
66     };
67     }
68     #endif