25 leadTrack_HCAL3x3hitsEtSumOverPt_minvalue_ = iConfig.
getParameter<
double>(
"leadTrack_HCAL3x3hitsEtSumOverPt_minvalue");
26 ApplyCut_maxleadTrackHCAL3x3hottesthitDEta_ = iConfig.
getParameter<
bool>(
"ApplyCut_maxleadTrackHCAL3x3hottesthitDEta");
27 maxleadTrackHCAL3x3hottesthitDEta_ = iConfig.
getParameter<
double>(
"maxleadTrackHCAL3x3hottesthitDEta");
28 ApplyCut_leadTrackavoidsECALcrack_ = iConfig.
getParameter<
bool>(
"ApplyCut_leadTrackavoidsECALcrack");
30 ~CaloRecoTauDiscriminationAgainstElectron()
override{}
31 double discriminate(
const CaloTauRef& theCaloTauRef)
const override;
37 double leadTrack_HCAL3x3hitsEtSumOverPt_minvalue_;
38 bool ApplyCut_maxleadTrackHCAL3x3hottesthitDEta_;
39 double maxleadTrackHCAL3x3hottesthitDEta_;
40 bool ApplyCut_leadTrackavoidsECALcrack_;
45 if (ApplyCut_leadTrackavoidsECALcrack_)
53 double CaloRecoTauDiscriminationAgainstElectron::discriminate(
const CaloTauRef& theCaloTauRef)
const 55 if (ApplyCut_maxleadTrackHCAL3x3hottesthitDEta_){
57 if (
edm::isNotFinite((*theCaloTauRef).leadTrackHCAL3x3hottesthitDEta()) || (*theCaloTauRef).leadTrackHCAL3x3hottesthitDEta()>maxleadTrackHCAL3x3hottesthitDEta_)
return 0.;
59 if (ApplyCut_leadTrackavoidsECALcrack_){
62 if(thepropagleadTrackECALSurfContactPoint.R()==0. ||
77 if ((*theCaloTauRef).leadTrackHCAL3x3hitsEtSum()/(*theCaloTauRef).leadTrack()->pt()<=leadTrack_HCAL3x3hitsEtSumOverPt_minvalue_)
return 0.;
138 desc.
add<
double>(
"leadTrack_HCAL3x3hitsEtSumOverPt_minvalue", 0.1);
139 desc.add<
double>(
"maxleadTrackHCAL3x3hottesthitDEta", 0.1);
140 desc.add<
bool>(
"ApplyCut_maxleadTrackHCAL3x3hottesthitDEta",
false);
146 psd1.
add<
double>(
"cut");
152 desc.
add<
bool>(
"ApplyCut_leadTrackavoidsECALcrack",
true);
153 descriptions.add(
"caloRecoTauDiscriminationAgainstElectron", desc);
T getParameter(std::string const &) const
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
constexpr bool isNotFinite(T x)
static std::pair< float, float > crack_absEtaIntervalA()
static std::pair< float, float > crack_absEtaIntervalB()
static std::pair< float, float > crack_absEtaIntervalE()
#define DEFINE_FWK_MODULE(type)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static std::pair< float, float > crack_absEtaIntervalC()
static std::pair< float, float > crack_absEtaIntervalD()
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
XYZPointD XYZPoint
point in space with cartesian internal representation