CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

CaloRecoTauDiscriminationByInvMass Class Reference

Inheritance diagram for CaloRecoTauDiscriminationByInvMass:
TauDiscriminationProducerBase< TauType, TauDiscriminator > edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 CaloRecoTauDiscriminationByInvMass (const edm::ParameterSet &iConfig)
double discriminate (const reco::CaloTauRef &)
 ~CaloRecoTauDiscriminationByInvMass ()

Private Member Functions

double threeProngInvMass (const CaloTauRef &)

Private Attributes

bool booleanOutput
double chargedPionMass
double invMassMax
double invMassMin

Detailed Description

Definition at line 16 of file CaloRecoTauDiscriminationByInvMass.cc.


Constructor & Destructor Documentation

CaloRecoTauDiscriminationByInvMass::CaloRecoTauDiscriminationByInvMass ( const edm::ParameterSet iConfig) [inline, explicit]

Definition at line 18 of file CaloRecoTauDiscriminationByInvMass.cc.

References edm::ParameterSet::getParameter().

        :CaloTauDiscriminationProducerBase(iConfig) {
      invMassMin                = iConfig.getParameter<double>("invMassMin");
      invMassMax                = iConfig.getParameter<double>("invMassMax");
      chargedPionMass   = 0.139;
      booleanOutput             = iConfig.getParameter<bool>("BooleanOutput");
    }
CaloRecoTauDiscriminationByInvMass::~CaloRecoTauDiscriminationByInvMass ( ) [inline]

Definition at line 27 of file CaloRecoTauDiscriminationByInvMass.cc.

{}

Member Function Documentation

double CaloRecoTauDiscriminationByInvMass::discriminate ( const reco::CaloTauRef tau) [virtual]

Implements TauDiscriminationProducerBase< TauType, TauDiscriminator >.

Definition at line 38 of file CaloRecoTauDiscriminationByInvMass.cc.

                                                                            {

  double invMass = threeProngInvMass(tau);
  if(booleanOutput) return (
      invMass > invMassMin && invMass < invMassMax ? 1. : 0. );
  return invMass;
}
double CaloRecoTauDiscriminationByInvMass::threeProngInvMass ( const CaloTauRef tau) [private]

Definition at line 46 of file CaloRecoTauDiscriminationByInvMass.cc.

References i, p4, and edm::RefVector< C, T, F >::size().

                          {
  TLorentzVector sum;
  reco::TrackRefVector signalTracks = tau->signalTracks();
  for(size_t i = 0; i < signalTracks.size(); ++i){
    TLorentzVector p4;
    p4.SetXYZM(signalTracks[i]->px(),
               signalTracks[i]->py(),
               signalTracks[i]->pz(),
               chargedPionMass);
    sum += p4;
  }
  return sum.M();
}

Member Data Documentation

Definition at line 35 of file CaloRecoTauDiscriminationByInvMass.cc.

Definition at line 33 of file CaloRecoTauDiscriminationByInvMass.cc.

Definition at line 34 of file CaloRecoTauDiscriminationByInvMass.cc.

Definition at line 34 of file CaloRecoTauDiscriminationByInvMass.cc.