#include <CaloTauElementsOperators.h>
Public Member Functions | |
CaloTauElementsOperators (reco::CaloTau &) | |
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 |
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 > > | EcalRecHitsInCone (const math::XYZVector &coneAxis, const std::string coneMetric, const double coneSize, const double EcalRecHit_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 |
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 |
std::vector< std::pair < math::XYZPoint, float > > | neutralEcalBasicClustersInCone (const math::XYZVector &coneAxis, const std::string coneMetric, const double coneSize, const double neutralEcalBasicCluster_minEt) const |
void | setAreaMetricrecoElementsmaxabsEta (const double x) |
~CaloTauElementsOperators () | |
Private Attributes | |
double | AreaMetric_recoElements_maxabsEta_ |
reco::CaloTau & | CaloTau_ |
std::vector< std::pair < math::XYZPoint, float > > | EcalRecHits_ |
ElementsInAnnulus < math::XYZVector, Angle < math::XYZVector, math::XYZPoint >, Angle < math::XYZVector, math::XYZPoint >, std::pair < math::XYZPoint, float > > | EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_ |
ElementsInAnnulus < math::XYZVector, Angle < math::XYZVector, math::XYZPoint >, DeltaR < math::XYZVector, math::XYZPoint >, std::pair < math::XYZPoint, float > > | EcalRecHitsinAnnulus_innerAngleouterDRmetrics_ |
ElementsInAnnulus < math::XYZVector, DeltaR < math::XYZVector, math::XYZPoint >, Angle < math::XYZVector, math::XYZPoint >, std::pair < math::XYZPoint, float > > | EcalRecHitsinAnnulus_innerDRouterAnglemetrics_ |
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_ |
ElementsInCone < math::XYZVector, DeltaR < math::XYZVector, math::XYZPoint >, std::pair < math::XYZPoint, float > > | EcalRecHitsinCone_DRmetric_ |
Angle< math::XYZVector, math::XYZPoint > | metricAngle_ |
DeltaR< math::XYZVector, math::XYZPoint > | metricDR_ |
Definition at line 17 of file CaloTauElementsOperators.h.
CaloTauElementsOperators::CaloTauElementsOperators | ( | reco::CaloTau & | theCaloTau | ) |
Definition at line 5 of file CaloTauElementsOperators.cc.
References reco::CaloTau::caloTauTagInfoRef(), and TauElementsOperators::Tracks_.
: TauElementsOperators(theCaloTau),CaloTau_(theCaloTau),AreaMetric_recoElements_maxabsEta_(2.5){ Tracks_=theCaloTau.caloTauTagInfoRef()->Tracks(); //EcalRecHits_=theCaloTau.caloTauTagInfoRef()->positionAndEnergyECALRecHits(); }
CaloTauElementsOperators::~CaloTauElementsOperators | ( | ) | [inline] |
Definition at line 20 of file CaloTauElementsOperators.h.
{}
std::vector< std::pair< math::XYZPoint, float > > CaloTauElementsOperators::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 |
Definition at line 33 of file CaloTauElementsOperators.cc.
References AreaMetric_recoElements_maxabsEta_, EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_, EcalRecHitsinAnnulus_innerAngleouterDRmetrics_, EcalRecHitsinAnnulus_innerDRouterAnglemetrics_, EcalRecHitsinAnnulus_innerDRouterDRmetrics_, metricAngle_, metricDR_, FixedAreaIsolationCone::setAcceptanceLimit(), and funct::sin().
Referenced by CaloRecoTauAlgorithm::buildCaloTau(), and EcalRecHitsInAnnulus().
{ std::vector<std::pair<math::XYZPoint,float> > theFilteredEcalRecHits; for (std::vector<std::pair<math::XYZPoint,float> >::const_iterator iEcalRecHit=myEcalRecHits.begin();iEcalRecHit!=myEcalRecHits.end();++iEcalRecHit) { if ((*iEcalRecHit).second*fabs(sin((*iEcalRecHit).first.theta()))>EcalRecHit_minEt)theFilteredEcalRecHits.push_back(*iEcalRecHit); } std::vector<std::pair<math::XYZPoint,float> > theFilteredEcalRecHitsInAnnulus; if (outerconeMetric=="DR"){ if (innerconeMetric=="DR"){ theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerDRouterDRmetrics_(coneAxis,metricDR_,innerconeSize,metricDR_,outerconeSize,theFilteredEcalRecHits); }else if(innerconeMetric=="angle"){ theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterDRmetrics_(coneAxis,metricAngle_,innerconeSize,metricDR_,outerconeSize,theFilteredEcalRecHits); }else if(innerconeMetric=="area"){ int errorFlag=0; FixedAreaIsolationCone theFixedAreaSignalCone; theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); if (errorFlag!=0)return std::vector<std::pair<math::XYZPoint,float> >(); theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterDRmetrics_(coneAxis,metricAngle_,innercone_angle,metricDR_,outerconeSize,theFilteredEcalRecHits); }else return std::vector<std::pair<math::XYZPoint,float> >(); }else if(outerconeMetric=="angle"){ if (innerconeMetric=="DR"){ theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerDRouterAnglemetrics_(coneAxis,metricDR_,innerconeSize,metricAngle_,outerconeSize,theFilteredEcalRecHits); }else if(innerconeMetric=="angle"){ theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innerconeSize,metricAngle_,outerconeSize,theFilteredEcalRecHits); }else if(innerconeMetric=="area"){ int errorFlag=0; FixedAreaIsolationCone theFixedAreaSignalCone; theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innercone_angle,metricAngle_,outerconeSize,theFilteredEcalRecHits); }else return std::vector<std::pair<math::XYZPoint,float> >(); }else if(outerconeMetric=="area"){ int errorFlag=0; FixedAreaIsolationCone theFixedAreaSignalCone; theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); if (innerconeMetric=="DR"){ // not implemented yet }else if(innerconeMetric=="angle"){ double outercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),innerconeSize,outerconeSize,errorFlag); if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innerconeSize,metricAngle_,outercone_angle,theFilteredEcalRecHits); }else if(innerconeMetric=="area"){ double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; double outercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),innercone_angle,outerconeSize,errorFlag); if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innercone_angle,metricAngle_,outercone_angle,theFilteredEcalRecHits); }else return std::vector<std::pair<math::XYZPoint,float> >(); } return theFilteredEcalRecHitsInAnnulus; }
std::vector< std::pair< math::XYZPoint, float > > CaloTauElementsOperators::EcalRecHitsInAnnulus | ( | const math::XYZVector & | coneAxis, |
const std::string | innerconeMetric, | ||
const double | innerconeSize, | ||
const std::string | outerconeMetric, | ||
const double | outerconeSize, | ||
const double | EcalRecHit_minEt | ||
) | const |
Definition at line 94 of file CaloTauElementsOperators.cc.
References EcalRecHits_, and EcalRecHitsInAnnulus().
{ //this function exists only to provide compatability w/ CMSSW_2_2_3 out of the box. Newer versions recompute the interesting rechits inside RecoTau return EcalRecHitsInAnnulus(coneAxis, innerconeMetric, innerconeSize, outerconeMetric, outerconeSize, EcalRecHit_minEt, this->EcalRecHits_); }
std::vector< std::pair< math::XYZPoint, float > > CaloTauElementsOperators::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 |
Definition at line 11 of file CaloTauElementsOperators.cc.
References AreaMetric_recoElements_maxabsEta_, EcalRecHitsinCone_Anglemetric_, EcalRecHitsinCone_DRmetric_, metricAngle_, metricDR_, FixedAreaIsolationCone::setAcceptanceLimit(), and funct::sin().
Referenced by EcalRecHitsInCone().
{ std::vector<std::pair<math::XYZPoint,float> > theFilteredEcalRecHits; for (std::vector<std::pair<math::XYZPoint,float> >::const_iterator iEcalRecHit=myEcalRecHits.begin();iEcalRecHit!=myEcalRecHits.end();++iEcalRecHit) { if ((*iEcalRecHit).second*fabs(sin((*iEcalRecHit).first.theta()))>EcalRecHit_minEt)theFilteredEcalRecHits.push_back(*iEcalRecHit); } std::vector<std::pair<math::XYZPoint,float> > theFilteredEcalRecHitsInCone; if (coneMetric=="DR"){ theFilteredEcalRecHitsInCone=EcalRecHitsinCone_DRmetric_(coneAxis,metricDR_,coneSize,theFilteredEcalRecHits); }else if(coneMetric=="angle"){ theFilteredEcalRecHitsInCone=EcalRecHitsinCone_Anglemetric_(coneAxis,metricAngle_,coneSize,theFilteredEcalRecHits); }else if(coneMetric=="area"){ int errorFlag = 0; FixedAreaIsolationCone fixedAreaCone; fixedAreaCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); double coneAngle=fixedAreaCone(coneAxis.theta(),coneAxis.phi(),0,coneSize,errorFlag); if (errorFlag!=0) return std::vector<std::pair<math::XYZPoint,float> >(); theFilteredEcalRecHitsInCone=EcalRecHitsinCone_Anglemetric_(coneAxis,metricAngle_,coneAngle,theFilteredEcalRecHits); }else return std::vector<std::pair<math::XYZPoint,float> >(); return theFilteredEcalRecHitsInCone; }
std::vector< std::pair< math::XYZPoint, float > > CaloTauElementsOperators::EcalRecHitsInCone | ( | const math::XYZVector & | coneAxis, |
const std::string | coneMetric, | ||
const double | coneSize, | ||
const double | EcalRecHit_minEt | ||
) | const |
Definition at line 87 of file CaloTauElementsOperators.cc.
References EcalRecHits_, and EcalRecHitsInCone().
{ //this function exists only to provide compatability w/ CMSSW_2_2_3 out of the box.Newer versions recompute the interesting rechits inside RecoTau return EcalRecHitsInCone(coneAxis, coneMetric, coneSize, EcalRecHit_minEt, this->EcalRecHits_); }
std::vector<std::pair<math::XYZPoint,float> > CaloTauElementsOperators::neutralEcalBasicClustersInAnnulus | ( | const math::XYZVector & | coneAxis, |
const std::string | innerconeMetric, | ||
const double | innerconeSize, | ||
const std::string | outerconeMetric, | ||
const double | outerconeSize, | ||
const double | neutralEcalBasicCluster_minEt | ||
) | const |
std::vector<std::pair<math::XYZPoint,float> > CaloTauElementsOperators::neutralEcalBasicClustersInCone | ( | const math::XYZVector & | coneAxis, |
const std::string | coneMetric, | ||
const double | coneSize, | ||
const double | neutralEcalBasicCluster_minEt | ||
) | const |
void CaloTauElementsOperators::setAreaMetricrecoElementsmaxabsEta | ( | const double | x | ) | [inline] |
Definition at line 36 of file CaloTauElementsOperators.h.
References AreaMetric_recoElements_maxabsEta_, and x.
double CaloTauElementsOperators::AreaMetric_recoElements_maxabsEta_ [private] |
Reimplemented from TauElementsOperators.
Definition at line 40 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus(), EcalRecHitsInCone(), and setAreaMetricrecoElementsmaxabsEta().
reco::CaloTau& CaloTauElementsOperators::CaloTau_ [private] |
Definition at line 38 of file CaloTauElementsOperators.h.
std::vector<std::pair<math::XYZPoint,float> > CaloTauElementsOperators::EcalRecHits_ [private] |
Definition at line 39 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus(), and EcalRecHitsInCone().
Definition at line 48 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus().
Definition at line 49 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus().
Definition at line 47 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus().
Definition at line 46 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus().
ElementsInCone<math::XYZVector,Angle<math::XYZVector,math::XYZPoint>,std::pair<math::XYZPoint,float> > CaloTauElementsOperators::EcalRecHitsinCone_Anglemetric_ [private] |
Definition at line 45 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInCone().
ElementsInCone<math::XYZVector,DeltaR<math::XYZVector,math::XYZPoint>,std::pair<math::XYZPoint,float> > CaloTauElementsOperators::EcalRecHitsinCone_DRmetric_ [private] |
Definition at line 44 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInCone().
Reimplemented from TauElementsOperators.
Definition at line 43 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus(), and EcalRecHitsInCone().
Reimplemented from TauElementsOperators.
Definition at line 42 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus(), and EcalRecHitsInCone().