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.26 by ceballos, Sat Oct 9 18:42:16 2010 UTC vs.
Revision 1.33 by ceballos, Wed Mar 23 11:39:57 2011 UTC

# Line 18 | Line 18
18   #include "MitAna/TreeMod/interface/BaseMod.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 38 | Line 42 | namespace mithep
42        const char        *GetIsoType()                   const { return fMuonIsoType;        }
43        const char        *GetOutputName()                const { return GetCleanMuonsName(); }  
44        Double_t           GetPtMin()                     const { return fMuonPtMin;          }
41      Bool_t             GetReverseIsoCut()             const { return fReverseIsoCut;      }
42      Bool_t             GetReverseD0Cut()              const { return fReverseD0Cut;       }
45        Double_t           GetTrackIsoCut()               const { return fTrackIsolationCut;  }
46        void               SetApplyD0Cut(Bool_t b)              { fApplyD0Cut        = b;     }
47 +      void               SetApplyDZCut(Bool_t b)              { fApplyDZCut        = b;     }
48        void               SetCaloIsoCut(Double_t cut)          { fCaloIsolationCut  = cut;   }
49        void               SetClassType(const char *type)       { fMuonClassType     = type;  }
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               SetD0Cut(Double_t cut)               { fD0Cut             = cut;   }
56 +      void               SetDZCut(Double_t cut)               { fDZCut             = cut;   }
57 +      void               SetWhichVertex(Int_t d)              { fWhichVertex = d;           }
58        void               SetEtaCut(Double_t cut)              { fEtaCut            = cut;   }
59        void               SetIDType(const char *type)          { fMuonIDType        = type;  }
60        void               SetInputName(const char *name)       { fMuonBranchName    = name;  }  
61        void               SetIsoType(const char *type)         { fMuonIsoType       = type;  }
62        void               SetOutputName(const char *name)      { SetCleanMuonsName(name);    }  
63        void               SetPtMin(Double_t pt)                { fMuonPtMin         = pt;    }
57      void               SetReverseIsoCut(Bool_t b)           { fReverseIsoCut     = b;     }
58      void               SetReverseD0Cut(Bool_t b)            { fReverseD0Cut      = b;     }
64        void               SetTrackIsoCut(Double_t cut)         { fTrackIsolationCut = cut;   }
65  
66        enum EMuIdType {
# Line 64 | Line 69 | namespace mithep
69          kZMuId,             //"ZMuId"
70          kTight,             //"Tight"
71          kLoose,             //"Loose"
72 <        kMinimal,           //"Minimal"
72 >        kWWMuId,            //"WWMuId"
73          kNoId,              //"NoId"
74          kCustomId           //"Custom"
75        };
76        enum EMuIsoType {
77 <        kIsoUndef = 0,      //not defined
78 <        kTrackCalo,         //"TrackCalo"
79 <        kTrackCaloCombined, //"TrackCaloCombined"
80 <        kTrackCaloSliding,  //"TrackCaloSliding"
81 <        kCustomIso,         //"Custom"
82 <        kNoIso              //"NoIso"
77 >        kIsoUndef = 0,                 //"not defined"
78 >        kTrackCalo,                    //"TrackCalo"
79 >        kTrackCaloCombined,            //"TrackCaloCombined"
80 >        kTrackCaloSliding,             //"TrackCaloSliding"
81 >        kTrackCaloSlidingNoCorrection, //"TrackCaloSlidingNoCorrection"
82 >        kCustomIso,                    //"Custom"
83 >        kPFIso,                        //"PFIso"
84 >        kPFIsoNoL,                     //"PFIsoNoL"
85 >        kNoIso                         //"NoIso"
86        };
87        enum EMuClassType {
88          kClassUndef = 0,    //not defined
# Line 92 | Line 100 | namespace mithep
100  
101        TString            fMuonBranchName;      //name of muon collection (input)
102        TString            fCleanMuonsName;      //name of exported "good muon" collection
103 +      TString            fNonIsolatedMuonsName;    //name of imported "old muon" collection
104 +      TString            fNonIsolatedElectronsName;//name of imported "old electron" collection
105        TString            fVertexName;          //name of vertex collection
106 +      TString            fBeamSpotName;        //name of beamspot collection
107 +      TString            fTrackName;           //name of track collection
108 +      TString            fPFCandidatesName;    //name of pfcandidates collection
109        TString            fMuonIDType;          //type of muon id scheme we impose
110        TString            fMuonIsoType;         //type of muon isolations scheme we impose
111        TString            fMuonClassType;       //type of muon class we impose
# Line 101 | Line 114 | namespace mithep
114        Double_t           fCombIsolationCut;    //cut value for combined isolation
115        Double_t           fMuonPtMin;           //min muon pt
116        Bool_t             fApplyD0Cut;          //=true then apply d0 cut (def=1)
117 +      Bool_t             fApplyDZCut;          //=true then apply dz cut (def=1)
118        Double_t           fD0Cut;               //max d0
119 +      Double_t           fDZCut;               //max dz
120 +      Int_t              fWhichVertex;         //vertex to use (-2: beamspot, -1: closest in Z)
121        Double_t           fEtaCut;              //max eta, absolute value
106      Bool_t             fReverseIsoCut;       //apply reversion iso cut (default=0)
107      Bool_t             fReverseD0Cut;        //apply reversion d0 cut (default=0)
122        EMuIdType          fMuIDType;            //!muon id type (imposed)
123        EMuIsoType         fMuIsoType;           //!muon iso type (imposed)
124        EMuClassType       fMuClassType;         //!muon class type (imposed)
125        const MuonCol     *fMuons;               //!muon collection
126        const VertexCol   *fVertices;            //!vertices branch
127 <      MuonTools         *fMuonTools;           //!muon tool
128 <    
127 >      const BeamSpotCol *fBeamSpot;            //!beamspot branch
128 >      const TrackCol    *fTracks;              //!track branch    
129 >      const PFCandidateCol *fPFCandidates;     //!pfcandidate branch
130 >      MuonCol            *fNonIsolatedMuons;    //!pointer to old muon collection
131 >      ElectronCol        *fNonIsolatedElectrons;//!pointer to old electron collection
132 >      TString             fPileupEnergyDensityName;
133 >      const PileupEnergyDensityCol *fPileupEnergyDensity;
134 >
135      ClassDef(MuonIDMod, 1) // Muon identification module
136    };
137   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines