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.3 by phedex, Tue Feb 17 06:49:01 2009 UTC vs.
Revision 1.24 by ceballos, Sat Apr 28 19:10:01 2012 UTC

# Line 8 | Line 8
8   // Authors: S.Xie
9   //--------------------------------------------------------------------------------------------------
10  
11 < #ifndef MITANA_UTILS_ISOLATIONTOOLS_H
12 < #define MITANA_UTILS_ISOLATIONTOOLS_H
11 > #ifndef MITPHYSICS_UTILS_ISOLATIONTOOLS_H
12 > #define MITPHYSICS_UTILS_ISOLATIONTOOLS_H
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"
20 + #include "MitAna/DataTree/interface/VertexCol.h"
21 + #include "MitAna/DataTree/interface/MuonCol.h"
22 + #include "MitAna/DataTree/interface/ElectronCol.h"
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 33 | 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 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, 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);
67 +       static Double_t BetaM(const TrackCol *tracks, const Muon *p, const Vertex *vertex,
68 +                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
69 +                            Double_t intRadius);
70 +      static Double_t BetaE(const TrackCol *tracks, const Electron *p, const Vertex *vertex,
71 +                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
72 +                            Double_t intRadius);
73 +
74 +      // method added by F.Stoeckli: computes the track isolation with NO constrint on the OV-track compatibility
75 +      static Double_t TrackIsolationNoPV(const mithep::Particle*, const BaseVertex*,
76 +                                         Double_t extRadius,
77 +                                         Double_t intRadius,
78 +                                         Double_t ptLow,
79 +                                         Double_t etaStrip,
80 +                                         Double_t maxD0,
81 +                                         mithep::TrackQuality::EQuality,
82 +                                         const mithep::Collection<mithep::Track> *tracks,
83 +                                         UInt_t maxNExpectedHitsInner = 999,
84 +                                         const mithep::DecayParticleCol *conversions = 0);
85 +
86 +      // methods for Hgg BaseLien Selection. These isolation are stupid, but what can we do.... ;(
87 +      static Double_t CiCTrackIsolation(const mithep::Photon*,
88 +                                        const BaseVertex*,
89 +                                        Double_t extRadius,
90 +                                        Double_t intRadius,
91 +                                        Double_t ptLow,
92 +                                        Double_t etaStrip,
93 +                                        Double_t maxD0,
94 +                                        Double_t maxDZ,
95 +                                        const mithep::Collection<mithep::Track> *tracks,
96 +                                        unsigned int* worstVtxIdx = NULL,
97 +                                        const mithep::Collection<mithep::Vertex> *vtxs = NULL,
98 +                                        const mithep::Collection<mithep::Electron> *eles = NULL,
99 +                                        bool print=false,
100 +                                        double* ptmax=NULL,
101 +                                        double* dRmax=NULL);
102 +
103 +
104 +    ClassDef(IsolationTools, 0) // Isolation tools
105    };
106   }
107   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines