CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EgammaHcalIsolation.h
Go to the documentation of this file.
1 #ifndef EgammaIsolationAlgos_EgammaHcalIsolation_h
2 #define EgammaIsolationAlgos_EgammaHcalIsolation_h
3 //*****************************************************************************
4 // File: EgammaHcalIsolation.h
5 // ----------------------------------------------------------------------------
6 // OrigAuth: Matthias Mozer
7 // Institute: IIHE-VUB
8 //=============================================================================
9 //*****************************************************************************
10 
11 //C++ includes
12 #include <vector>
13 #include <functional>
14 
15 //CMSSW includes
25 
26 
27 //Sum helper functions
28 double scaleToE(const double& eta);
29 double scaleToEt(const double& eta);
30 
31 
33  public:
34 
36 
37  //constructors
39  double extRadius,
40  double intRadius,
41  double eLowB,
42  double eLowE,
43  double etLowB,
44  double etLowE,
45  edm::ESHandle<CaloGeometry> theCaloGeom ,
47  );
48 
49  //destructor
51 
52  //AllDepths
53  double getHcalESum (const reco::Candidate *c) const { return getHcalESum(c->get<reco::SuperClusterRef>().get()); }
54  double getHcalEtSum(const reco::Candidate *c) const { return getHcalEtSum(c->get<reco::SuperClusterRef>().get()); }
55  double getHcalESum (const reco::SuperCluster *sc) const { return getHcalESum(sc->position()); }
56  double getHcalEtSum(const reco::SuperCluster *sc) const { return getHcalEtSum(sc->position()); }
57  double getHcalESum (const math::XYZPoint &p) const { return getHcalESum(GlobalPoint(p.x(),p.y(),p.z())); }
58  double getHcalEtSum(const math::XYZPoint &p) const { return getHcalEtSum(GlobalPoint(p.x(),p.y(),p.z())); }
59  double getHcalESum (const GlobalPoint &pclu) const { return getHcalSum(pclu,AllDepths,&scaleToE); }
60  double getHcalEtSum(const GlobalPoint &pclu) const { return getHcalSum(pclu,AllDepths,&scaleToEt); }
61 
62  //Depth1
65  double getHcalESumDepth1 (const reco::SuperCluster *sc) const { return getHcalESumDepth1(sc->position()); }
66  double getHcalEtSumDepth1(const reco::SuperCluster *sc) const { return getHcalEtSumDepth1(sc->position()); }
67  double getHcalESumDepth1 (const math::XYZPoint &p) const { return getHcalESumDepth1(GlobalPoint(p.x(),p.y(),p.z())); }
68  double getHcalEtSumDepth1(const math::XYZPoint &p) const { return getHcalEtSumDepth1(GlobalPoint(p.x(),p.y(),p.z())); }
69  double getHcalESumDepth1 (const GlobalPoint &pclu) const { return getHcalSum(pclu,Depth1,&scaleToE); }
70  double getHcalEtSumDepth1(const GlobalPoint &pclu) const { return getHcalSum(pclu,Depth1,&scaleToEt); }
71 
72  //Depth2
75  double getHcalESumDepth2 (const reco::SuperCluster *sc) const { return getHcalESumDepth2(sc->position()); }
76  double getHcalEtSumDepth2(const reco::SuperCluster *sc) const { return getHcalEtSumDepth2(sc->position()); }
77  double getHcalESumDepth2 (const math::XYZPoint &p) const { return getHcalESumDepth2(GlobalPoint(p.x(),p.y(),p.z())); }
78  double getHcalEtSumDepth2(const math::XYZPoint &p) const { return getHcalEtSumDepth2(GlobalPoint(p.x(),p.y(),p.z())); }
79  double getHcalESumDepth2 (const GlobalPoint &pclu) const { return getHcalSum(pclu,Depth2,&scaleToE); }
80  double getHcalEtSumDepth2(const GlobalPoint &pclu) const { return getHcalSum(pclu,Depth2,&scaleToEt); }
81 
82 
83  private:
84 
85 
86  bool isDepth2(const DetId&) const;
87  double getHcalSum(const GlobalPoint&, const HcalDepth&, double(*)(const double&) ) const;
88 
89  double extRadius_ ;
90  double intRadius_ ;
91  double eLowB_ ;
92  double eLowE_ ;
93  double etLowB_ ;
94  double etLowE_ ;
95 
96 
99 
101 
102 };
103 
104 #endif
bool isDepth2(const DetId &) const
const math::XYZPoint & position() const
cluster centroid position
Definition: CaloCluster.h:112
double getHcalESumDepth2(const math::XYZPoint &p) const
edm::ESHandle< CaloGeometry > theCaloGeom_
double getHcalEtSumDepth1(const reco::SuperCluster *sc) const
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
double getHcalEtSumDepth2(const reco::SuperCluster *sc) const
double getHcalEtSumDepth2(const reco::Candidate *c) const
T eta() const
double getHcalEtSum(const reco::Candidate *c) const
double getHcalESum(const math::XYZPoint &p) const
double getHcalESumDepth1(const GlobalPoint &pclu) const
EgammaHcalIsolation(double extRadius, double intRadius, double eLowB, double eLowE, double etLowB, double etLowE, edm::ESHandle< CaloGeometry > theCaloGeom, HBHERecHitMetaCollection *mhbhe)
double getHcalESumDepth2(const reco::SuperCluster *sc) const
double getHcalESumDepth1(const math::XYZPoint &p) const
double getHcalEtSum(const reco::SuperCluster *sc) const
double getHcalEtSum(const math::XYZPoint &p) const
double getHcalESum(const reco::SuperCluster *sc) const
double getHcalEtSumDepth2(const math::XYZPoint &p) const
double getHcalESum(const GlobalPoint &pclu) const
CaloDualConeSelector * doubleConeSel_
double getHcalSum(const GlobalPoint &, const HcalDepth &, double(*)(const double &)) const
double getHcalESumDepth2(const reco::Candidate *c) const
double getHcalEtSumDepth1(const math::XYZPoint &p) const
double getHcalESumDepth2(const GlobalPoint &pclu) const
HBHERecHitMetaCollection * mhbhe_
Definition: DetId.h:20
double getHcalEtSum(const GlobalPoint &pclu) const
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
double getHcalESumDepth1(const reco::SuperCluster *sc) const
double getHcalEtSumDepth1(const GlobalPoint &pclu) const
double getHcalESum(const reco::Candidate *c) const
double scaleToEt(const double &eta)
double scaleToE(const double &eta)
double getHcalEtSumDepth1(const reco::Candidate *c) const
double getHcalEtSumDepth2(const GlobalPoint &pclu) const
T get() const
get a component
Definition: Candidate.h:217
double getHcalESumDepth1(const reco::Candidate *c) const
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:239