CMS 3D CMS Logo

CaloTauElementsOperators.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_CaloTauElementsOperators_H_
2 #define RecoTauTag_RecoTau_CaloTauElementsOperators_H_
3 
9 
16 
18  public:
21 
22  // return all Ecal RecHits in a cone of metric* "coneMetric" and size "coneSize" around a direction "coneAxis"
23  std::vector<std::pair<math::XYZPoint,float> > EcalRecHitsInCone(const math::XYZVector& coneAxis,const std::string coneMetric,const double coneSize,const double EcalRecHit_minEt,const std::vector<std::pair<math::XYZPoint,float> >& myEcalRecHits)const;
24  // return all Ecal RecHits in an annulus defined by inner(metric* "innerconeMetric" and size "innerconeSize") and outer(metric* "outerconeMetric" and size "outerconeSize") cones around a direction "coneAxis"
25  std::vector<std::pair<math::XYZPoint,float> > EcalRecHitsInAnnulus(const math::XYZVector& coneAxis,const std::string innerconeMetric,const double innerconeSize,const std::string outerconeMetric,const double outerconeSize,const double EcalRecHit_minEt,const std::vector<std::pair<math::XYZPoint,float> >& myEcalRecHits)const;
26 
27  // These function kept for out-of-box compatability with 2_2_X
28  std::vector<std::pair<math::XYZPoint,float> > EcalRecHitsInCone(const math::XYZVector& coneAxis,const std::string coneMetric,const double coneSize,const double EcalRecHit_minEt)const;
29  std::vector<std::pair<math::XYZPoint,float> > EcalRecHitsInAnnulus(const math::XYZVector& coneAxis,const std::string innerconeMetric,const double innerconeSize,const std::string outerconeMetric,const double outerconeSize,const double EcalRecHit_minEt)const;
30 
31  // return all neutral Ecal BasicClusters in a cone of metric* "coneMetric" and size "coneSize" around a direction "coneAxis"
32  std::vector<std::pair<math::XYZPoint,float> > neutralEcalBasicClustersInCone(const math::XYZVector& coneAxis,const std::string coneMetric,const double coneSize,const double neutralEcalBasicCluster_minEt)const;
33  // return all neutral Ecal BasicClusters in an annulus defined by inner(metric* "innerconeMetric" and size "innerconeSize") and outer(metric* "outerconeMetric" and size "outerconeSize") cones around a direction "coneAxis"
34  std::vector<std::pair<math::XYZPoint,float> > neutralEcalBasicClustersInAnnulus(const math::XYZVector& coneAxis,const std::string innerconeMetric,const double innerconeSize,const std::string outerconeMetric,const double outerconeSize,const double neutralEcalBasicCluster_minEt)const;
35 
37  private:
39  std::vector<std::pair<math::XYZPoint,float> > EcalRecHits_;
41  // template objects for DR and Angle metrics
50 };
51 #endif
52 
53 // * different possible metrics for a cone : "DR", "angle", "area";
Angle< math::XYZVector, math::XYZPoint > metricAngle_
ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinAnnulus_innerDRouterAnglemetrics_
std::vector< std::pair< math::XYZPoint, float > > neutralEcalBasicClustersInCone(const math::XYZVector &coneAxis, const std::string coneMetric, const double coneSize, const double neutralEcalBasicCluster_minEt) const
std::vector< std::pair< math::XYZPoint, float > > EcalRecHitsInCone(const math::XYZVector &coneAxis, const std::string coneMetric, const double coneSize, const double EcalRecHit_minEt, const std::vector< std::pair< math::XYZPoint, float > > &myEcalRecHits) const
ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinAnnulus_innerDRouterDRmetrics_
ElementsInCone< math::XYZVector, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinCone_Anglemetric_
DeltaR< math::XYZVector, math::XYZPoint > metricDR_
std::vector< std::pair< math::XYZPoint, float > > neutralEcalBasicClustersInAnnulus(const math::XYZVector &coneAxis, const std::string innerconeMetric, const double innerconeSize, const std::string outerconeMetric, const double outerconeSize, const double neutralEcalBasicCluster_minEt) const
CaloTauElementsOperators(reco::CaloTau &)
ElementsInAnnulus< math::XYZVector, Angle< math::XYZVector, math::XYZPoint >, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinAnnulus_innerAngleouterDRmetrics_
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
std::vector< std::pair< math::XYZPoint, float > > EcalRecHitsInAnnulus(const math::XYZVector &coneAxis, const std::string innerconeMetric, const double innerconeSize, const std::string outerconeMetric, const double outerconeSize, const double EcalRecHit_minEt, const std::vector< std::pair< math::XYZPoint, float > > &myEcalRecHits) const
ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinCone_DRmetric_
std::vector< std::pair< math::XYZPoint, float > > EcalRecHits_
void setAreaMetricrecoElementsmaxabsEta(const double x)
ElementsInAnnulus< math::XYZVector, Angle< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > > EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_