CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PositionCalc.h
Go to the documentation of this file.
1 #ifndef RecoEcal_EgammaCoreTools_PositionCalc_h
2 #define RecoEcal_EgammaCoreTools_PositionCalc_h
3 
15 #include <vector>
16 #include <map>
17 
24 
26 {
27  public:
28  // You must call Initialize before you can calculate positions or
29  // covariances.
30 
31  PositionCalc(const edm::ParameterSet& par);
32  PositionCalc() { };
33 
34  const PositionCalc& operator=(const PositionCalc& rhs);
35 
36  // Calculate_Location calculates an arithmetically or logarithmically
37  // weighted average position of a vector of DetIds, which should be
38  // a subset of the map used to Initialize.
39 
40  math::XYZPoint Calculate_Location( const std::vector< std::pair< DetId, float > >& iDetIds ,
41  const EcalRecHitCollection* iRecHits ,
42  const CaloSubdetectorGeometry* iSubGeom ,
43  const CaloSubdetectorGeometry* iESGeom = 0 ) ;
44 
45  private:
50  double param_W0_;
51  double param_X0_;
52 
54  bool m_esPlus ;
55  bool m_esMinus ;
56 
57 };
58 
59 #endif
double param_T0_endc_
Definition: PositionCalc.h:48
double param_W0_
Definition: PositionCalc.h:50
double param_X0_
Definition: PositionCalc.h:51
const PositionCalc & operator=(const PositionCalc &rhs)
Definition: PositionCalc.cc:24
bool param_LogWeighted_
Definition: PositionCalc.h:46
double param_T0_endcPresh_
Definition: PositionCalc.h:49
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
double param_T0_barl_
Definition: PositionCalc.h:47
math::XYZPoint Calculate_Location(const std::vector< std::pair< DetId, float > > &iDetIds, const EcalRecHitCollection *iRecHits, const CaloSubdetectorGeometry *iSubGeom, const CaloSubdetectorGeometry *iESGeom=0)
Definition: PositionCalc.cc:40
const CaloSubdetectorGeometry * m_esGeom
Definition: PositionCalc.h:53