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.35 by sixie, Fri Jul 22 14:36:29 2011 UTC vs.
Revision 1.50 by ceballos, Sat May 12 06:23:30 2012 UTC

# Line 21 | Line 21
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/MuonIDMVA.h"
25   #include "MitPhysics/Utils/interface/IsolationTools.h"
26   #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
27  
28 + #include "MitPhysics/Utils/interface/RhoUtilities.h"
29 +
30   namespace mithep
31   {
32    class MuonIDMod : public BaseMod
# Line 43 | Line 46 | namespace mithep
46        const char        *GetOutputName()                const { return GetCleanMuonsName(); }  
47        Double_t           GetPtMin()                     const { return fMuonPtMin;          }
48        Double_t           GetTrackIsoCut()               const { return fTrackIsolationCut;  }
49 +      Bool_t             PassMuonMVA_BDTG_IdIso(const Muon *mu, const Vertex *vertex,
50 +                                                const PileupEnergyDensityCol *PileupEnergyDensity) const;
51 +      Bool_t             PassMuonIsoRingsV0_BDTG_Iso(const Muon *mu, const Vertex *vertex,
52 +                                                     const PileupEnergyDensityCol *PileupEnergyDensity) const;
53 +      Bool_t             PassMuonIsoDeltaR(const Muon *mu, const Vertex *vertex,
54 +                                           const PileupEnergyDensityCol *PileupEnergyDensity) const;
55 +      void               SetPrintMVADebugInfo(Bool_t b)       { fPrintMVADebugInfo = b;     }
56        void               SetApplyD0Cut(Bool_t b)              { fApplyD0Cut        = b;     }
57        void               SetApplyDZCut(Bool_t b)              { fApplyDZCut        = b;     }
58        void               SetCaloIsoCut(Double_t cut)          { fCaloIsolationCut  = cut;   }
# Line 64 | Line 74 | namespace mithep
74        void               SetOutputName(const char *name)      { SetCleanMuonsName(name);    }  
75        void               SetPtMin(Double_t pt)                { fMuonPtMin         = pt;    }
76        void               SetTrackIsoCut(Double_t cut)         { fTrackIsolationCut = cut;   }
77 +      void               SetIntRadius(Double_t dr)            { fIntRadius = dr;            }
78 +
79 +      void               SetRhoType(RhoUtilities::RhoType type)
80 +        { fTheRhoType = type; };
81 +
82 +      void               SetVertexName(const char* name) { fVertexName = name; }
83  
84        enum EMuIdType {
85          kIdUndef = 0,       //not defined
# Line 73 | Line 89 | namespace mithep
89          kLoose,             //"Loose"
90          kWWMuIdV1,          //"WWMuIdV1"
91          kWWMuIdV2,          //"WWMuIdV2"
92 <        kNoId,              //"NoId"
93 <        kCustomId           //"Custom"
92 >        kWWMuIdV3,          //"WWMuIdV3"
93 >        kWWMuIdV4,          //"WWMuIdV4"
94 >        kNoId,              //"NoId"        
95 >        kCustomId,          //"Custom"
96 >        kMVAID_BDTG_IDIso   //"BDTG ID + Iso03, Iso04 Combined"
97        };
98        enum EMuIsoType {
99          kIsoUndef = 0,                      //"not defined"
# Line 82 | Line 101 | namespace mithep
101          kTrackCaloCombined,                 //"TrackCaloCombined"
102          kTrackCaloSliding,                  //"TrackCaloSliding"
103          kTrackCaloSlidingNoCorrection,      //"TrackCaloSlidingNoCorrection"
85        kCombinedRelativeConeAreaCorrected, //"CombinedRelativeConeAreaCorrected"
104          kCustomIso,                         //"Custom"
105          kPFIso,                             //"PFIso"
106 +        kPFRadialIso,                       //"PFRadialIso"
107          kPFIsoNoL,                          //"PFIsoNoL"
108 <        kNoIso                              //"NoIso"
108 >        kNoIso,                             //"NoIso"
109 >        kMVAIso_BDTG_IDIso,                 //"BDTG ID + Iso03, Iso04 Combined"
110 >        kIsoRingsV0_BDTG_Iso,               //"BDTG Iso Rings"
111 >        kIsoDeltaR                          //"BGDT Iso dR"              
112        };
113        enum EMuClassType {
114          kClassUndef = 0,    //not defined
# Line 97 | Line 119 | namespace mithep
119          kTrackerMuon,       //"TrackerMuon"
120          kCaloMuon,          //"CaloMuon"
121          kTrackerBased       //"TrackerMuon or CaloMuon"
122 +
123        };
124  
125      protected:
126        void               Process();
127        void               SlaveBegin();
128 +      void               Terminate();
129  
130 +      Bool_t             fPrintMVADebugInfo;   //print MVA debug information
131        TString            fMuonBranchName;      //name of muon collection (input)
132        TString            fCleanMuonsName;      //name of exported "good muon" collection
133        TString            fNonIsolatedMuonsName;    //name of imported "old muon" collection
# Line 134 | Line 159 | namespace mithep
159        const BeamSpotCol *fBeamSpot;            //!beamspot branch
160        const TrackCol    *fTracks;              //!track branch    
161        const PFCandidateCol *fPFCandidates;     //!pfcandidate branch
162 +      const PFCandidateCol *fPFNoPileUpCands;  //!pfnpu collection
163 +      Double_t           fIntRadius;           //!min IntRadius cut in pf isolation
164        MuonCol            *fNonIsolatedMuons;    //!pointer to old muon collection
165        ElectronCol        *fNonIsolatedElectrons;//!pointer to old electron collection
166        TString             fPileupEnergyDensityName;
167        const PileupEnergyDensityCol *fPileupEnergyDensity;
168 +      MuonTools          *fMuonTools;           // interface to tools for muon ID
169 +      MuonIDMVA          *fMuonIDMVA;           // helper class for MuonMVA
170  
171 +      RhoUtilities::RhoType fTheRhoType;
172 +      
173      ClassDef(MuonIDMod, 1) // Muon identification module
174    };
175   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines