14 #include "TLorentzVector.h" 23 explicit CaloRecoTauDiscriminationByInvMass(
28 chargedPionMass = 0.139;
29 booleanOutput = iConfig.
getParameter<
bool>(
"BooleanOutput");
32 ~CaloRecoTauDiscriminationByInvMass()
override{}
38 double threeProngInvMass(
const CaloTauRef&)
const ;
39 double chargedPionMass;
44 double CaloRecoTauDiscriminationByInvMass::discriminate(
const CaloTauRef&
tau)
const {
46 double invMass = threeProngInvMass(tau);
47 if(booleanOutput)
return (
52 double CaloRecoTauDiscriminationByInvMass::threeProngInvMass(
56 for(
size_t i = 0;
i < signalTracks.
size(); ++
i){
58 p4.SetXYZM(signalTracks[
i]->px(),
59 signalTracks[
i]->py(),
60 signalTracks[
i]->pz(),
73 desc.
add<
double>(
"invMassMin", 0.0);
80 psd1.
add<
double>(
"cut");
86 desc.
add<
bool>(
"BooleanOutput",
true);
87 desc.add<
double>(
"invMassMax", 1.4);
88 descriptions.add(
"caloRecoTauDiscriminationByInvMass", desc);
T getParameter(std::string const &) const
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
#define DEFINE_FWK_MODULE(type)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
size_type size() const
Size of the RefVector.