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

Comparing UserCode/MitPhysics/Utils/interface/IsolationTools.h (file contents):
Revision 1.16 by mzanetti, Fri May 20 13:25:40 2011 UTC vs.
Revision 1.28 by fabstoec, Thu Jul 12 17:05:50 2012 UTC

# Line 13 | Line 13
13  
14   #include <TMath.h>
15   #include "MitAna/DataTree/interface/Track.h"
16 + #include "MitAna/DataTree/interface/Photon.h"
17   #include "MitAna/DataTree/interface/BasicCluster.h"
18   #include "MitAna/DataTree/interface/SuperCluster.h"
19   #include "MitAna/DataTree/interface/CaloTower.h"
# Line 22 | Line 23
23   #include "MitAna/DataTree/interface/PFCandidateCol.h"
24   #include "MitAna/DataTree/interface/TrackCol.h"
25   #include "MitAna/DataTree/interface/DecayParticleCol.h"
26 + #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
27 + #include "MitPhysics/Utils/interface/ElectronTools.h"
28  
29   namespace mithep
30   {
# Line 39 | Line 42 | namespace mithep
42        static Double_t CaloTowerEmIsolation(const ThreeVector *p, Double_t extRadius,
43                                             Double_t intRadius, Double_t etLow,
44                                             const mithep::Collection<mithep::CaloTower> *caloTowers);
45 +      static Double_t PFRadialMuonIsolation(const Muon *p, const PFCandidateCol *PFCands,
46 +                                            Double_t ptMin = 1.0, Double_t extRadius = 0.3);
47        static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands, const Vertex *vertex,
48                                        Double_t  delta_z = 0.1, Double_t ptMin = 1.0,
49 <                                      Double_t extRadius = 0.4, Double_t intRadius = 0.07);
50 <      static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands, const Vertex *vertex,
51 <                                      const MuonCol *goodMuons, const ElectronCol *goodElectrons,
52 <                                      Double_t  delta_z = 0.1, Double_t ptMin = 1.0, Double_t extRadius = 0.4,
53 <                                      Double_t intRadius = 0.07, int isoType = 0, Double_t beta = 1.0);
49 >                                      Double_t extRadius = 0.4, Double_t intRadiusGamma = 0.07, Double_t intRadius = 0.0);
50 >      static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands,
51 >                                      const MuonCol *goodMuons, const ElectronCol *goodElectrons,
52 >                                      const Vertex *vertex, Double_t  delta_z, Double_t ptMin,
53 >                                      Double_t extRadius, Double_t intRadiusGamma, Double_t intRadius);
54        static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands,
55                                            const Vertex *vertex, Double_t  delta_z, Double_t ptMin,
56 <                                          Double_t extRadius, Double_t intRadius);
57 <      static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands, const Vertex *vertex,
58 <                                          const MuonCol *goodMuons, const ElectronCol *goodElectrons,
59 <                                          Double_t  delta_z = 0.1 , Double_t ptMin = 1.0,Double_t extRadius = 0.4,                                        
60 <                                          Double_t intRadius = 0.0, int isoType = 0, Double_t beta = 1.0);
61 <      static Double_t BetaM(const TrackCol *tracks, const Muon *p, const Vertex *vertex,
62 <                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
63 <                            Double_t intRadius);
64 <      static Double_t BetaE(const TrackCol *tracks, const Electron *p, const Vertex *vertex,
65 <                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
66 <                            Double_t intRadius);
56 >                                          Double_t extRadius, Double_t intRadius, Int_t PFCandidateType = -1);
57 >      static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands,
58 >                                          const MuonCol *goodMuons, const ElectronCol *goodElectrons,
59 >                                          const Vertex *vertex, Double_t  delta_z, Double_t ptMin,
60 >                                          Double_t extRadius, Double_t intRadius, Int_t PFCandidateType = -1);
61 >      static Double_t PFElectronIsolation2012(const Electron *ele, const Vertex *vertex,
62 >                                              const PFCandidateCol *PFCands,
63 >                                              const PileupEnergyDensityCol *PileupEnergyDensity,
64 >                                              ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaTarget,
65 >                                              const ElectronCol *goodElectrons,
66 >                                              const MuonCol *goodMuons, Double_t dRMax = 0.4, Bool_t isDebug = kFALSE);
67 >      static Double_t PFElectronIsolation2012LepTag(const Electron *ele, const Vertex *vertex,
68 >                                                    const PFCandidateCol *PFCands,
69 >                                                    const PileupEnergyDensityCol *PileupEnergyDensity,
70 >                                                    ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaTarget,
71 >                                                    const ElectronCol *goodElectrons,
72 >                                                    const MuonCol *goodMuons, Double_t dRMax = 0.3, Bool_t isDebug=kFALSE);
73 >       static Double_t BetaM(const TrackCol *tracks, const Muon *p, const Vertex *vertex,
74 >                             Double_t ptMin, Double_t  delta_z, Double_t extRadius,
75 >                             Double_t intRadius);
76 >       static Double_t BetaMwithPUCorrection(const PFCandidateCol *PFNoPileUP, const PFCandidateCol *PFPileUP, const Muon *p, Double_t extRadius);
77 >       static Double_t BetaE(const TrackCol *tracks, const Electron *p, const Vertex *vertex,
78 >                             Double_t ptMin, Double_t  delta_z, Double_t extRadius,
79 >                             Double_t intRadius);
80  
81        // method added by F.Stoeckli: computes the track isolation with NO constrint on the OV-track compatibility
82        static Double_t TrackIsolationNoPV(const mithep::Particle*, const BaseVertex*,
# Line 72 | Line 90 | namespace mithep
90                                           UInt_t maxNExpectedHitsInner = 999,
91                                           const mithep::DecayParticleCol *conversions = 0);
92  
93 <    ClassDef(IsolationTools, 0) // Isolation tools
94 <  };
93 >      // methods for Hgg BaseLien Selection. These isolation are stupid, but what can we do.... ;(
94 >      static Double_t CiCTrackIsolation(const mithep::Photon*,
95 >                                        const BaseVertex*,
96 >                                        Double_t extRadius,
97 >                                        Double_t intRadius,
98 >                                        Double_t ptLow,
99 >                                        Double_t etaStrip,
100 >                                        Double_t maxD0,
101 >                                        Double_t maxDZ,
102 >                                        const mithep::Collection<mithep::Track> *tracks,
103 >                                        unsigned int* worstVtxIdx = NULL,
104 >                                        const mithep::Collection<mithep::Vertex> *vtxs = NULL,
105 >                                        const mithep::Collection<mithep::Electron> *eles = NULL,
106 >                                        bool print=false,
107 >                                        double* ptmax=NULL,
108 >                                        double* dRmax=NULL);
109 >      
110 >      static Double_t PFChargedIsolation(const mithep::Photon *p,
111 >                                         const BaseVertex *theVtx,
112 >                                         Double_t extRadius,
113 >                                         Double_t intRadius,
114 >                                         const PFCandidateCol *PFCands,
115 >                                         unsigned int* worstVtxIndex = NULL,
116 >                                         const mithep::Collection<mithep::Vertex> *vtxs = NULL,
117 >                                         bool print = NULL);
118 >
119 >      static Double_t PFGammaIsolation(const mithep::Photon *p,
120 >                                         Double_t extRadius,
121 >                                         Double_t intRadius,
122 >                                         const PFCandidateCol *PFCands);                                        
123 >
124 >      static Double_t PFNeutralHadronIsolation(const mithep::Photon *p,
125 >                                         Double_t extRadius,
126 >                                         Double_t intRadius,
127 >                                         const PFCandidateCol *PFCands);                                                                                  
128 >                                        
129 >      static Float_t PFChargedCount(const mithep::Photon*,
130 >                                const BaseVertex*,
131 >                                Double_t extRadius,
132 >                                Double_t intRadius,
133 >                                Double_t ptLow,
134 >                                Double_t etaStrip,
135 >                                Double_t maxD0,
136 >                                Double_t maxDZ,
137 >                                const PFCandidateCol *PFCands,
138 >                                unsigned int* worstVtxIndex = NULL,
139 >                                const mithep::Collection<mithep::Vertex> *vtxs = NULL,
140 >                                const mithep::Collection<mithep::Electron> *eles = NULL,
141 >                                bool print = NULL,
142 >                                double* ptmax = NULL,
143 >                                double* dRmax = NULL);
144 >      
145 >      ClassDef(IsolationTools, 0) // Isolation tools
146 >        };
147   }
148   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines