CMS 3D CMS Logo

Public Member Functions | Protected Member Functions

PFTauDiscriminants::ChargedOutlierAngle Class Reference

#include <Discriminants.h>

Inheritance diagram for PFTauDiscriminants::ChargedOutlierAngle:
PFTauDiscriminants::DiscriminantBase< double > PFTauDiscriminants::Discriminant

List of all members.

Public Member Functions

 ChargedOutlierAngle ()
 ~ChargedOutlierAngle ()

Protected Member Functions

void doComputation (PFTauDiscriminantManager *input, std::vector< double > &result)

Detailed Description

Definition at line 238 of file Discriminants.h.


Constructor & Destructor Documentation

PFTauDiscriminants::ChargedOutlierAngle::ChargedOutlierAngle ( ) [inline]

Definition at line 240 of file Discriminants.h.

:DiscriminantBase<double>("ChargedOutlierAngle", "vector<double>", false, true, 0.0){};
PFTauDiscriminants::ChargedOutlierAngle::~ChargedOutlierAngle ( ) [inline]

Definition at line 241 of file Discriminants.h.

{};

Member Function Documentation

void PFTauDiscriminants::ChargedOutlierAngle::doComputation ( PFTauDiscriminantManager input,
std::vector< double > &  result 
) [protected, virtual]

Implements PFTauDiscriminants::DiscriminantBase< double >.

Definition at line 359 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));
   }
}