--- UserCode/MitPhysics/Utils/interface/IsolationTools.h 2011/02/05 05:48:13 1.6 +++ UserCode/MitPhysics/Utils/interface/IsolationTools.h 2011/05/12 23:16:11 1.14 @@ -1,5 +1,5 @@ //-------------------------------------------------------------------------------------------------- -// $Id: IsolationTools.h,v 1.6 2011/02/05 05:48:13 ceballos Exp $ +// $Id: IsolationTools.h,v 1.14 2011/05/12 23:16:11 ceballos Exp $ // // IsolationTools // @@ -20,6 +20,8 @@ #include "MitAna/DataTree/interface/MuonCol.h" #include "MitAna/DataTree/interface/ElectronCol.h" #include "MitAna/DataTree/interface/PFCandidateCol.h" +#include "MitAna/DataTree/interface/TrackCol.h" +#include "MitAna/DataTree/interface/DecayParticleCol.h" namespace mithep { @@ -38,11 +40,38 @@ namespace mithep Double_t intRadius, Double_t etLow, const mithep::Collection *caloTowers); static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands, - const VertexCol *vertices, Double_t delta_z, - Double_t extRadius, Double_t intRadius, int isoType); + const Vertex *vertex, Double_t delta_z, Double_t ptMin, + Double_t extRadius, Double_t intRadius); + static Double_t PFMuonIsolation(const Muon *p, const PFCandidateCol *PFCands, const Vertex *vertex, + const MuonCol *goodMuons, const ElectronCol *goodElectrons, + Double_t delta_z = 0.2, Double_t ptMin = 1.0, Double_t extRadius = 0.4, + Double_t intRadius = 0.0, int isoType = 0, Double_t beta = 1.0); static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands, - const VertexCol *vertices, Double_t delta_z, - Double_t extRadius, Double_t intRadius, int isoType); + const Vertex *vertex, Double_t delta_z, Double_t ptMin, + Double_t extRadius, Double_t intRadius); + static Double_t PFElectronIsolation(const Electron *p, const PFCandidateCol *PFCands, const Vertex *vertex, + const MuonCol *goodMuons, const ElectronCol *goodElectrons, + Double_t delta_z = 0.2 , Double_t ptMin = 1.0,Double_t extRadius = 0.4, + Double_t intRadius = 0.0, int isoType = 0, Double_t beta = 1.0); + static Double_t BetaM(const TrackCol *tracks, const Muon *p, const Vertex *vertex, + Double_t ptMin, Double_t delta_z, Double_t extRadius, + Double_t intRadius); + static Double_t BetaE(const TrackCol *tracks, const Electron *p, const Vertex *vertex, + Double_t ptMin, Double_t delta_z, Double_t extRadius, + Double_t intRadius); + + // method added by F.Stoeckli: computes the track isolation with NO constrint on the OV-track compatibility + static Double_t TrackIsolationNoPV(const mithep::Particle*, const BaseVertex*, + Double_t extRadius, + Double_t intRadius, + Double_t ptLow, + Double_t etaStrip, + Double_t maxD0, + mithep::TrackQuality::EQuality, + const mithep::Collection *tracks, + UInt_t maxNExpectedHitsInner = 999, + const mithep::DecayParticleCol *conversions = 0); + ClassDef(IsolationTools, 0) // Isolation tools }; }