CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
CalIsolationAlgo< T1, C2 > Class Template Reference

#include <CalIsolationAlgo.h>

Public Types

typedef double value_type
 

Public Member Functions

 CalIsolationAlgo ()
 
 CalIsolationAlgo (double dRMin, double dRMax, bool do_propagation, double radius, double minZ, double maxZ, bool theIgnoreMaterial)
 
double operator() (const T1 &, const C2 &) const
 
void setBfield (const MagneticField *bField)
 
 ~CalIsolationAlgo ()
 

Private Attributes

const MagneticFieldbField_
 
bool do_propagation_
 
double dRMax_
 
double dRMin_
 
PropagateToCal SrcAtCal
 

Detailed Description

template<typename T1, typename C2>
class CalIsolationAlgo< T1, C2 >

Definition at line 17 of file CalIsolationAlgo.h.

Member Typedef Documentation

◆ value_type

template<typename T1 , typename C2 >
typedef double CalIsolationAlgo< T1, C2 >::value_type

Definition at line 19 of file CalIsolationAlgo.h.

Constructor & Destructor Documentation

◆ CalIsolationAlgo() [1/2]

template<typename T1 , typename C2 >
CalIsolationAlgo< T1, C2 >::CalIsolationAlgo ( )
inline

Definition at line 20 of file CalIsolationAlgo.h.

20 {}

◆ CalIsolationAlgo() [2/2]

template<typename T1 , typename C2 >
CalIsolationAlgo< T1, C2 >::CalIsolationAlgo ( double  dRMin,
double  dRMax,
bool  do_propagation,
double  radius,
double  minZ,
double  maxZ,
bool  theIgnoreMaterial 
)
inline

◆ ~CalIsolationAlgo()

template<typename T1 , typename C2 >
CalIsolationAlgo< T1, C2 >::~CalIsolationAlgo ( )

Definition at line 40 of file CalIsolationAlgo.h.

40 {}

Member Function Documentation

◆ operator()()

template<typename T1 , typename C2 >
double CalIsolationAlgo< T1, C2 >::operator() ( const T1 &  cand,
const C2 &  elements 
) const

Extrapolate charged particles from their vertex to the point of entry into the calorimeter, if this is requested in the cfg file.

Definition at line 43 of file CalIsolationAlgo.h.

References eleIsoSequence_cff::deltaR, HGC3DClusterGenMatchSelector_cfi::dR, bookConverter::elements, and HltBtagValidation_cff::Vertex.

43  {
44  const GlobalPoint Vertex(cand.vx(), cand.vy(), cand.vz()); //@@check if this is [cm]!
45  //GlobalVector Cand(cand.pt(), cand.eta(), cand.phi());
46  GlobalVector Cand(cand.px(), cand.py(), cand.pz());
47 
50  if (do_propagation_ && cand.charge() != 0)
51  SrcAtCal.propagate(Vertex, Cand, cand.charge(), bField_);
52 
53  double etSum = 0;
54  for (typename C2::const_iterator elem = elements.begin(); elem != elements.end(); ++elem) {
55  double dR = deltaR(elem->eta(), elem->phi(), (double)Cand.eta(), (double)Cand.phi());
56  if (dR < dRMax_ && dR > dRMin_) {
57  etSum += elem->et();
58  }
59  }
60  return etSum;
61 }
const MagneticField * bField_
PropagateToCal SrcAtCal
bool propagate(const GlobalPoint &vertex, GlobalVector &Cand, int charge, const MagneticField *bField) const

◆ setBfield()

template<typename T1 , typename C2 >
void CalIsolationAlgo< T1, C2 >::setBfield ( const MagneticField bField)
inline

Definition at line 29 of file CalIsolationAlgo.h.

References Calorimetry_cff::bField, and CalIsolationAlgo< T1, C2 >::bField_.

29 { bField_ = bField; }
const MagneticField * bField_

Member Data Documentation

◆ bField_

template<typename T1 , typename C2 >
const MagneticField* CalIsolationAlgo< T1, C2 >::bField_
private

Definition at line 35 of file CalIsolationAlgo.h.

Referenced by CalIsolationAlgo< T1, C2 >::setBfield().

◆ do_propagation_

template<typename T1 , typename C2 >
bool CalIsolationAlgo< T1, C2 >::do_propagation_
private

Definition at line 34 of file CalIsolationAlgo.h.

◆ dRMax_

template<typename T1 , typename C2 >
double CalIsolationAlgo< T1, C2 >::dRMax_
private

Definition at line 33 of file CalIsolationAlgo.h.

◆ dRMin_

template<typename T1 , typename C2 >
double CalIsolationAlgo< T1, C2 >::dRMin_
private

Definition at line 33 of file CalIsolationAlgo.h.

◆ SrcAtCal

template<typename T1 , typename C2 >
PropagateToCal CalIsolationAlgo< T1, C2 >::SrcAtCal
private

Definition at line 36 of file CalIsolationAlgo.h.