ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/MuonIDMod.h
(Generate patch)

Comparing UserCode/MitPhysics/Mods/interface/MuonIDMod.h (file contents):
Revision 1.17 by ceballos, Thu Apr 30 06:34:02 2009 UTC vs.
Revision 1.35 by sixie, Fri Jul 22 14:36:29 2011 UTC

# Line 16 | Line 16
16   #define MITPHYSICS_MODS_MUONIDMOD_H
17  
18   #include "MitAna/TreeMod/interface/BaseMod.h"
19 < #include "MitAna/DataTree/interface/Collections.h"
19 > #include "MitAna/DataTree/interface/MuonFwd.h"
20 > #include "MitAna/DataTree/interface/VertexFwd.h"
21 > #include "MitAna/DataTree/interface/TrackFwd.h"
22 > #include "MitAna/DataTree/interface/PFCandidateFwd.h"
23   #include "MitPhysics/Utils/interface/MuonTools.h"
24 + #include "MitPhysics/Utils/interface/IsolationTools.h"
25 + #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
26  
27   namespace mithep
28   {
# Line 36 | Line 41 | namespace mithep
41        const char        *GetInputName()                 const { return fMuonBranchName;     }  
42        const char        *GetIsoType()                   const { return fMuonIsoType;        }
43        const char        *GetOutputName()                const { return GetCleanMuonsName(); }  
44 <      Double_t           GetPtMin(Double_t pt)          const { return fMuonPtMin;          }
44 >      Double_t           GetPtMin()                     const { return fMuonPtMin;          }
45        Double_t           GetTrackIsoCut()               const { return fTrackIsolationCut;  }
46 <      Bool_t             GetReverseIsoCut()             const { return fReverseIsoCut;      }
46 >      void               SetApplyD0Cut(Bool_t b)              { fApplyD0Cut        = b;     }
47 >      void               SetApplyDZCut(Bool_t b)              { fApplyDZCut        = b;     }
48        void               SetCaloIsoCut(Double_t cut)          { fCaloIsolationCut  = cut;   }
43      void               SetCombIsoCut(Double_t cut)          { fCombIsolationCut  = cut;   }
49        void               SetClassType(const char *type)       { fMuonClassType     = type;  }
45      void               SetCleanName(const char *name)       { SetCleanMuonsName(name);    }  
50        void               SetCleanMuonsName(const char *name)  { fCleanMuonsName    = name;  }  
51 +      void               SetOldMuonsName(const char *n)       { fNonIsolatedMuonsName  = n; }  
52 +      void               SetOldElectronsName(const char *n)   { fNonIsolatedElectronsName  = n; }  
53 +      void               SetCleanName(const char *name)       { SetCleanMuonsName(name);    }  
54 +      void               SetCombIsoCut(Double_t cut)          { fCombIsolationCut  = cut;   }
55 +      void               SetCombRelativeIsoCut(Double_t cut)  { fCombRelativeIsolationCut  = cut; }
56 +      void               SetPFIsoCut(Double_t cut)            { fPFIsolationCut  = cut;     }
57 +      void               SetD0Cut(Double_t cut)               { fD0Cut             = cut;   }
58 +      void               SetDZCut(Double_t cut)               { fDZCut             = cut;   }
59 +      void               SetWhichVertex(Int_t d)              { fWhichVertex = d;           }
60 +      void               SetEtaCut(Double_t cut)              { fEtaCut            = cut;   }
61        void               SetIDType(const char *type)          { fMuonIDType        = type;  }
62        void               SetInputName(const char *name)       { fMuonBranchName    = name;  }  
63        void               SetIsoType(const char *type)         { fMuonIsoType       = type;  }
64        void               SetOutputName(const char *name)      { SetCleanMuonsName(name);    }  
65        void               SetPtMin(Double_t pt)                { fMuonPtMin         = pt;    }
66        void               SetTrackIsoCut(Double_t cut)         { fTrackIsolationCut = cut;   }
53      void               SetD0Cut(Double_t cut)               { fD0Cut = cut;               }
54      void               SetReverseIsoCut(Bool_t b)           { fReverseIsoCut = b;         }
67  
68        enum EMuIdType {
69          kIdUndef = 0,       //not defined
70 +        kWMuId,             //"WMuId"
71 +        kZMuId,             //"ZMuId"
72          kTight,             //"Tight"
73          kLoose,             //"Loose"
74 +        kWWMuIdV1,          //"WWMuIdV1"
75 +        kWWMuIdV2,          //"WWMuIdV2"
76          kNoId,              //"NoId"
77          kCustomId           //"Custom"
78        };
79        enum EMuIsoType {
80 <        kIsoUndef = 0,      //not defined
81 <        kTrackCalo,         //"TrackCalo"
82 <        kTrackCaloCombined, //"TrackCaloCombined"
83 <        kTrackCaloSliding,  //"TrackCaloSliding"
84 <        kCustomIso,         //"Custom"
85 <        kNoIso              //"NoIso"
80 >        kIsoUndef = 0,                      //"not defined"
81 >        kTrackCalo,                         //"TrackCalo"
82 >        kTrackCaloCombined,                 //"TrackCaloCombined"
83 >        kTrackCaloSliding,                  //"TrackCaloSliding"
84 >        kTrackCaloSlidingNoCorrection,      //"TrackCaloSlidingNoCorrection"
85 >        kCombinedRelativeConeAreaCorrected, //"CombinedRelativeConeAreaCorrected"
86 >        kCustomIso,                         //"Custom"
87 >        kPFIso,                             //"PFIso"
88 >        kPFIsoNoL,                          //"PFIsoNoL"
89 >        kNoIso                              //"NoIso"
90        };
91        enum EMuClassType {
92          kClassUndef = 0,    //not defined
93          kAll,               //"All"
94          kGlobal,            //"Global"
95 +        kGlobalTracker,     //"GlobalTracker"
96          kSta,               //"Standalone"
97 <        kTrackerOnly        //"TrackerOnly"
97 >        kTrackerMuon,       //"TrackerMuon"
98 >        kCaloMuon,          //"CaloMuon"
99 >        kTrackerBased       //"TrackerMuon or CaloMuon"
100        };
101  
102      protected:
# Line 82 | Line 105 | namespace mithep
105  
106        TString            fMuonBranchName;      //name of muon collection (input)
107        TString            fCleanMuonsName;      //name of exported "good muon" collection
108 +      TString            fNonIsolatedMuonsName;    //name of imported "old muon" collection
109 +      TString            fNonIsolatedElectronsName;//name of imported "old electron" collection
110        TString            fVertexName;          //name of vertex collection
111 +      TString            fBeamSpotName;        //name of beamspot collection
112 +      TString            fTrackName;           //name of track collection
113 +      TString            fPFCandidatesName;    //name of pfcandidates collection
114        TString            fMuonIDType;          //type of muon id scheme we impose
115        TString            fMuonIsoType;         //type of muon isolations scheme we impose
116        TString            fMuonClassType;       //type of muon class we impose
117        Double_t           fTrackIsolationCut;   //cut value for track isolation
118        Double_t           fCaloIsolationCut;    //cut value for calo isolation
119        Double_t           fCombIsolationCut;    //cut value for combined isolation
120 +      Double_t           fCombRelativeIsolationCut; //cut value for combined relative isolation
121 +      Double_t           fPFIsolationCut;      //cut value for combined isolation
122        Double_t           fMuonPtMin;           //min muon pt
123 +      Bool_t             fApplyD0Cut;          //=true then apply d0 cut (def=1)
124 +      Bool_t             fApplyDZCut;          //=true then apply dz cut (def=1)
125        Double_t           fD0Cut;               //max d0
126 +      Double_t           fDZCut;               //max dz
127 +      Int_t              fWhichVertex;         //vertex to use (-2: beamspot, -1: closest in Z)
128 +      Double_t           fEtaCut;              //max eta, absolute value
129        EMuIdType          fMuIDType;            //!muon id type (imposed)
130        EMuIsoType         fMuIsoType;           //!muon iso type (imposed)
131        EMuClassType       fMuClassType;         //!muon class type (imposed)
132        const MuonCol     *fMuons;               //!muon collection
133        const VertexCol   *fVertices;            //!vertices branch
134 <      MuonTools         *fMuonTools;           //!muon tool
135 <      Bool_t             fReverseIsoCut;       //!apply reversion iso cut
136 <    
134 >      const BeamSpotCol *fBeamSpot;            //!beamspot branch
135 >      const TrackCol    *fTracks;              //!track branch    
136 >      const PFCandidateCol *fPFCandidates;     //!pfcandidate branch
137 >      MuonCol            *fNonIsolatedMuons;    //!pointer to old muon collection
138 >      ElectronCol        *fNonIsolatedElectrons;//!pointer to old electron collection
139 >      TString             fPileupEnergyDensityName;
140 >      const PileupEnergyDensityCol *fPileupEnergyDensity;
141 >
142      ClassDef(MuonIDMod, 1) // Muon identification module
143    };
144   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines