CMS 3D CMS Logo

Public Member Functions | Protected Member Functions

PFTauDiscriminants::OutlierSumPt Class Reference

#include <Discriminants.h>

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

List of all members.

Public Member Functions

 OutlierSumPt ()
 ~OutlierSumPt ()

Protected Member Functions

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

Detailed Description

Definition at line 198 of file Discriminants.h.


Constructor & Destructor Documentation

PFTauDiscriminants::OutlierSumPt::OutlierSumPt ( ) [inline]

Definition at line 200 of file Discriminants.h.

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

Definition at line 201 of file Discriminants.h.

{};

Member Function Documentation

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

Implements PFTauDiscriminants::DiscriminantBase< double >.

Definition at line 281 of file Discriminants.cc.

References PFTauDiscriminants::PFTauDiscriminantManager::outlierObjectsSortedByPt(), and reco::Candidate::p4().

{
   LorentzVector totalFourVector;
   const std::vector<const reco::Candidate*>& theOutlierObjects = input->outlierObjectsSortedByPt();
   for(std::vector<const reco::Candidate*>::const_iterator iObject  = theOutlierObjects.begin();
         iObject != theOutlierObjects.end();
         ++iObject)
   {
      const reco::Candidate* currentObject = *iObject;
      if (currentObject)
         totalFourVector += currentObject->p4();
   }
   result.push_back(totalFourVector.pt());
}