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.1 by loizides, Wed Oct 15 06:02:05 2008 UTC vs.
Revision 1.22 by sixie, Sat Dec 31 23:16:04 2011 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  
27   namespace mithep
28   {
29    class IsolationTools {
30      public:
31        static Double_t TrackIsolation(const mithep::Track *p, Double_t extRadius,
32 <                                      Double_t intRadius, Double_t ptLow, Double_t maxVtxZDist,
33 <                                      mithep::Collection<mithep::Track> *tracks);
32 >                                     Double_t intRadius, Double_t ptLow, Double_t maxVtxZDist,
33 >                                     const mithep::Collection<mithep::Track> *tracks);
34        static Double_t EcalIsolation(const SuperCluster *sc, Double_t coneSize, Double_t etLow,
35 <                                    mithep::Collection<mithep::BasicCluster> *basicClusters);
35 >                                    const mithep::Collection<mithep::BasicCluster> *basicClusters);
36        static Double_t CaloTowerHadIsolation(const ThreeVector *p,  Double_t extRadius,
37                                              Double_t intRadius, Double_t etLow,
38 <                                            mithep::Collection<mithep::CaloTower> *caloTowers);
38 >                                            const mithep::Collection<mithep::CaloTower>
39 >                                            *caloTowers);
40        static Double_t CaloTowerEmIsolation(const ThreeVector *p, Double_t extRadius,
41                                             Double_t intRadius, Double_t etLow,
42 <                                           mithep::Collection<mithep::CaloTower> *caloTowers);
42 >                                           const mithep::Collection<mithep::CaloTower> *caloTowers);
43 >      static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands, const Vertex *vertex,
44 >                                      Double_t  delta_z = 0.1, Double_t ptMin = 1.0,
45 >                                      Double_t extRadius = 0.4, Double_t intRadiusGamma = 0.07, Double_t intRadius = 0.0);
46 >      static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands,
47 >                                      const MuonCol *goodMuons, const ElectronCol *goodElectrons,
48 >                                      const Vertex *vertex, Double_t  delta_z, Double_t ptMin,
49 >                                      Double_t extRadius, Double_t intRadiusGamma, Double_t intRadius);
50 >      static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands,
51 >                                          const Vertex *vertex, Double_t  delta_z, Double_t ptMin,
52 >                                          Double_t extRadius, Double_t intRadius, Int_t PFCandidateType = -1);
53 >      static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands,
54 >                                          const MuonCol *goodMuons, const ElectronCol *goodElectrons,
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 BetaM(const TrackCol *tracks, const Muon *p, const Vertex *vertex,
58 >                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
59 >                            Double_t intRadius);
60 >      static Double_t BetaE(const TrackCol *tracks, const Electron *p, const Vertex *vertex,
61 >                            Double_t ptMin, Double_t  delta_z, Double_t extRadius,
62 >                            Double_t intRadius);
63 >
64 >      // method added by F.Stoeckli: computes the track isolation with NO constrint on the OV-track compatibility
65 >      static Double_t TrackIsolationNoPV(const mithep::Particle*, const BaseVertex*,
66 >                                         Double_t extRadius,
67 >                                         Double_t intRadius,
68 >                                         Double_t ptLow,
69 >                                         Double_t etaStrip,
70 >                                         Double_t maxD0,
71 >                                         mithep::TrackQuality::EQuality,
72 >                                         const mithep::Collection<mithep::Track> *tracks,
73 >                                         UInt_t maxNExpectedHitsInner = 999,
74 >                                         const mithep::DecayParticleCol *conversions = 0);
75 >
76 >      // methods for Hgg BaseLien Selection. These isoaltion are stupid, but what can we do.... ;(
77 >      static Double_t CiCTrackIsolation(const mithep::Photon*,
78 >                                        const BaseVertex*,
79 >                                        Double_t extRadius,
80 >                                        Double_t intRadius,
81 >                                        Double_t ptLow,
82 >                                        Double_t etaStrip,
83 >                                        Double_t maxD0,
84 >                                        Double_t maxDZ,
85 >                                        const mithep::Collection<mithep::Track> *tracks,
86 >                                        unsigned int* worstVtxIdx = NULL,
87 >                                        const mithep::Collection<mithep::Vertex> *vtxs = NULL,
88 >                                        const mithep::Collection<mithep::Electron> *eles = NULL,
89 >                                        bool print=false,
90 >                                        double* ptmax=NULL,
91 >                                        double* dRmax=NULL);
92 >
93 >
94 >    ClassDef(IsolationTools, 0) // Isolation tools
95    };
96   }
97   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines