17 #include "TLorentzVector.h" 26 explicit CaloRecoTauDiscriminationByFlightPathSignificance(
34 booleanOutput = iConfig.
getParameter<
bool>(
"BooleanOutput");
36 ~CaloRecoTauDiscriminationByFlightPathSignificance()
override{}
41 double threeProngFlightPathSig(
const CaloTauRef&)
const ;
54 void CaloRecoTauDiscriminationByFlightPathSignificance::beginEvent(
64 transientTrackBuilder = builder.
product();
68 CaloRecoTauDiscriminationByFlightPathSignificance::discriminate(
71 return ( threeProngFlightPathSig(tau) >
flightPathSig ? 1. : 0. );
72 return threeProngFlightPathSig(tau);
76 CaloRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(
78 double flightPathSignificance = 0;
81 vector<TransientTrack> transientTracks;
82 for(
size_t i = 0;
i < signalTracks.
size(); ++
i){
84 transientTrackBuilder->build(signalTracks[
i]);
85 transientTracks.push_back(transientTrack);
87 if(transientTracks.size() > 1) {
93 flightPathSignificance = vertexSignificance(
primaryVertex,secVer,tauDir);
96 return flightPathSignificance;
100 CaloRecoTauDiscriminationByFlightPathSignificance::vertexSignificance(
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
static Measurement1D computeDist3d(const reco::Vertex &pv, const SV &sv, const GlobalVector &direction, bool withPVError)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double significance() const
size_type size() const
Size of the RefVector.
T const * product() const