#include <Discriminants.h>
Public Member Functions | |
NeutralOutlierAngle () | |
~NeutralOutlierAngle () | |
Protected Member Functions | |
void | doComputation (PFTauDiscriminantManager *input, std::vector< double > &result) |
Definition at line 262 of file Discriminants.h.
PFTauDiscriminants::NeutralOutlierAngle::NeutralOutlierAngle | ( | ) | [inline] |
Definition at line 264 of file Discriminants.h.
:DiscriminantBase<double>("NeutralOutlierAngle", "vector<double>", false, true, 0.0){};
PFTauDiscriminants::NeutralOutlierAngle::~NeutralOutlierAngle | ( | ) | [inline] |
Definition at line 265 of file Discriminants.h.
{};
void PFTauDiscriminants::NeutralOutlierAngle::doComputation | ( | PFTauDiscriminantManager * | input, |
std::vector< double > & | result | ||
) | [protected, virtual] |
Implements PFTauDiscriminants::DiscriminantBase< double >.
Definition at line 405 of file Discriminants.cc.
References reco::Candidate::charge(), PFTauDiscriminants::PFTauDiscriminantManager::getDecayMode(), reco::LeafCandidate::momentum(), reco::Candidate::momentum(), and PFTauDiscriminants::PFTauDiscriminantManager::outlierObjectsSortedByPt().
{ const std::vector<const reco::Candidate*>& theoutlierObjects = input->outlierObjectsSortedByPt(); math::XYZVector signalObjectsAxis = input->getDecayMode()->momentum(); DeltaR<math::XYZVector> myDRComputer; for(std::vector<const reco::Candidate*>::const_iterator iObject = theoutlierObjects.begin(); iObject != theoutlierObjects.end(); ++iObject) { const reco::Candidate* currentObject = *iObject; if (currentObject && !currentObject->charge()) result.push_back(myDRComputer(currentObject->momentum(), signalObjectsAxis)); } }