#include <RecoTauTag/TauTagTools/interface/CaloTauElementsOperators.h>
Definition at line 21 of file CaloTauElementsOperators.h.
CaloTauElementsOperators::CaloTauElementsOperators | ( | CaloTau & | theCaloTau | ) |
Definition at line 3 of file CaloTauElementsOperators.cc.
References reco::CaloTau::caloTauTagInfoRef(), EcalRecHits_, and TauElementsOperators::Tracks_.
00003 : TauElementsOperators(theCaloTau),CaloTau_(theCaloTau),AreaMetric_recoElements_maxabsEta_(2.5){ 00004 Tracks_=theCaloTau.caloTauTagInfoRef()->Tracks(); 00005 EcalRecHits_=theCaloTau.caloTauTagInfoRef()->positionAndEnergyECALRecHits(); 00006 }
CaloTauElementsOperators::~CaloTauElementsOperators | ( | ) | [inline] |
vector< pair< math::XYZPoint, float > > CaloTauElementsOperators::EcalRecHitsInAnnulus | ( | const math::XYZVector & | coneAxis, | |
const string | innerconeMetric, | |||
const double | innerconeSize, | |||
const string | outerconeMetric, | |||
const double | outerconeSize, | |||
const double | EcalRecHit_minEt | |||
) | const |
Definition at line 27 of file CaloTauElementsOperators.cc.
References AreaMetric_recoElements_maxabsEta_, EcalRecHits_, EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_, EcalRecHitsinAnnulus_innerAngleouterDRmetrics_, EcalRecHitsinAnnulus_innerDRouterAnglemetrics_, EcalRecHitsinAnnulus_innerDRouterDRmetrics_, metricAngle_, metricDR_, FixedAreaIsolationCone::setAcceptanceLimit(), and funct::sin().
Referenced by CaloRecoTauAlgorithm::buildCaloTau().
00027 { 00028 vector<pair<math::XYZPoint,float> > theFilteredEcalRecHits; 00029 for (vector<pair<math::XYZPoint,float> >::const_iterator iEcalRecHit=EcalRecHits_.begin();iEcalRecHit!=EcalRecHits_.end();++iEcalRecHit) { 00030 if ((*iEcalRecHit).second*fabs(sin((*iEcalRecHit).first.theta()))>EcalRecHit_minEt)theFilteredEcalRecHits.push_back(*iEcalRecHit); 00031 } 00032 vector<pair<math::XYZPoint,float> > theFilteredEcalRecHitsInAnnulus; 00033 if (outerconeMetric=="DR"){ 00034 if (innerconeMetric=="DR"){ 00035 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerDRouterDRmetrics_(coneAxis,metricDR_,innerconeSize,metricDR_,outerconeSize,theFilteredEcalRecHits); 00036 }else if(innerconeMetric=="angle"){ 00037 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterDRmetrics_(coneAxis,metricAngle_,innerconeSize,metricDR_,outerconeSize,theFilteredEcalRecHits); 00038 }else if(innerconeMetric=="area"){ 00039 int errorFlag=0; 00040 FixedAreaIsolationCone theFixedAreaSignalCone; 00041 theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); 00042 double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); 00043 if (errorFlag!=0)return vector<pair<math::XYZPoint,float> >(); 00044 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterDRmetrics_(coneAxis,metricAngle_,innercone_angle,metricDR_,outerconeSize,theFilteredEcalRecHits); 00045 }else return vector<pair<math::XYZPoint,float> >(); 00046 }else if(outerconeMetric=="angle"){ 00047 if (innerconeMetric=="DR"){ 00048 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerDRouterAnglemetrics_(coneAxis,metricDR_,innerconeSize,metricAngle_,outerconeSize,theFilteredEcalRecHits); 00049 }else if(innerconeMetric=="angle"){ 00050 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innerconeSize,metricAngle_,outerconeSize,theFilteredEcalRecHits); 00051 }else if(innerconeMetric=="area"){ 00052 int errorFlag=0; 00053 FixedAreaIsolationCone theFixedAreaSignalCone; 00054 theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); 00055 double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); 00056 if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; 00057 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innercone_angle,metricAngle_,outerconeSize,theFilteredEcalRecHits); 00058 }else return vector<pair<math::XYZPoint,float> >(); 00059 }else if(outerconeMetric=="area"){ 00060 int errorFlag=0; 00061 FixedAreaIsolationCone theFixedAreaSignalCone; 00062 theFixedAreaSignalCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); 00063 if (innerconeMetric=="DR"){ 00064 // not implemented yet 00065 }else if(innerconeMetric=="angle"){ 00066 double outercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),innerconeSize,outerconeSize,errorFlag); 00067 if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; 00068 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innerconeSize,metricAngle_,outercone_angle,theFilteredEcalRecHits); 00069 }else if(innerconeMetric=="area"){ 00070 double innercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),0,innerconeSize,errorFlag); 00071 if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; 00072 double outercone_angle=theFixedAreaSignalCone(coneAxis.theta(),coneAxis.phi(),innercone_angle,outerconeSize,errorFlag); 00073 if (errorFlag!=0)return theFilteredEcalRecHitsInAnnulus; 00074 theFilteredEcalRecHitsInAnnulus=EcalRecHitsinAnnulus_innerAngleouterAnglemetrics_(coneAxis,metricAngle_,innercone_angle,metricAngle_,outercone_angle,theFilteredEcalRecHits); 00075 }else return vector<pair<math::XYZPoint,float> >(); 00076 } 00077 return theFilteredEcalRecHitsInAnnulus; 00078 }
vector< pair< math::XYZPoint, float > > CaloTauElementsOperators::EcalRecHitsInCone | ( | const math::XYZVector & | coneAxis, | |
const string | coneMetric, | |||
const double | coneSize, | |||
const double | EcalRecHit_minEt | |||
) | const |
Definition at line 7 of file CaloTauElementsOperators.cc.
References AreaMetric_recoElements_maxabsEta_, EcalRecHits_, EcalRecHitsinCone_Anglemetric_, EcalRecHitsinCone_DRmetric_, metricAngle_, metricDR_, FixedAreaIsolationCone::setAcceptanceLimit(), and funct::sin().
00007 { 00008 vector<pair<math::XYZPoint,float> > theFilteredEcalRecHits; 00009 for (vector<pair<math::XYZPoint,float> >::const_iterator iEcalRecHit=EcalRecHits_.begin();iEcalRecHit!=EcalRecHits_.end();++iEcalRecHit) { 00010 if ((*iEcalRecHit).second*fabs(sin((*iEcalRecHit).first.theta()))>EcalRecHit_minEt)theFilteredEcalRecHits.push_back(*iEcalRecHit); 00011 } 00012 vector<pair<math::XYZPoint,float> > theFilteredEcalRecHitsInCone; 00013 if (coneMetric=="DR"){ 00014 theFilteredEcalRecHitsInCone=EcalRecHitsinCone_DRmetric_(coneAxis,metricDR_,coneSize,theFilteredEcalRecHits); 00015 }else if(coneMetric=="angle"){ 00016 theFilteredEcalRecHitsInCone=EcalRecHitsinCone_Anglemetric_(coneAxis,metricAngle_,coneSize,theFilteredEcalRecHits); 00017 }else if(coneMetric=="area"){ 00018 int errorFlag = 0; 00019 FixedAreaIsolationCone fixedAreaCone; 00020 fixedAreaCone.setAcceptanceLimit(AreaMetric_recoElements_maxabsEta_); 00021 double coneAngle=fixedAreaCone(coneAxis.theta(),coneAxis.phi(),0,coneSize,errorFlag); 00022 if (errorFlag!=0) return vector<pair<math::XYZPoint,float> >(); 00023 theFilteredEcalRecHitsInCone=EcalRecHitsinCone_Anglemetric_(coneAxis,metricAngle_,coneAngle,theFilteredEcalRecHits); 00024 }else return vector<pair<math::XYZPoint,float> >(); 00025 return theFilteredEcalRecHitsInCone; 00026 }
vector<pair<math::XYZPoint,float> > CaloTauElementsOperators::neutralEcalBasicClustersInAnnulus | ( | const math::XYZVector & | coneAxis, | |
const string | innerconeMetric, | |||
const double | innerconeSize, | |||
const string | outerconeMetric, | |||
const double | outerconeSize, | |||
const double | neutralEcalBasicCluster_minEt | |||
) | const |
vector<pair<math::XYZPoint,float> > CaloTauElementsOperators::neutralEcalBasicClustersInCone | ( | const math::XYZVector & | coneAxis, | |
const 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_.
00036 {AreaMetric_recoElements_maxabsEta_=x;}
double CaloTauElementsOperators::AreaMetric_recoElements_maxabsEta_ [private] |
Reimplemented from TauElementsOperators.
Definition at line 40 of file CaloTauElementsOperators.h.
Referenced by EcalRecHitsInAnnulus(), EcalRecHitsInCone(), and setAreaMetricrecoElementsmaxabsEta().
CaloTau& CaloTauElementsOperators::CaloTau_ [private] |
Definition at line 38 of file CaloTauElementsOperators.h.
vector<pair<math::XYZPoint,float> > CaloTauElementsOperators::EcalRecHits_ [private] |
Definition at line 39 of file CaloTauElementsOperators.h.
Referenced by CaloTauElementsOperators(), EcalRecHitsInAnnulus(), and 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().