CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
egHLT::EgJetTagProbeCut< T > Struct Template Reference

#include <EgHLTDQMCut.h>

Inheritance diagram for egHLT::EgJetTagProbeCut< T >:
egHLT::EgHLTDQMCut< T >

Public Member Functions

EgHLTDQMCut< T > * clone () const
 
 EgJetTagProbeCut (int probeCutCode, int(T::*probeCutCodeFunc)() const, float minDPhi=-M_PI, float maxDPhi=M_PI)
 
bool pass (const T &obj, const OffEvt &evt) const
 
- Public Member Functions inherited from egHLT::EgHLTDQMCut< T >
 EgHLTDQMCut ()
 
virtual ~EgHLTDQMCut ()
 

Private Attributes

float maxDPhi_
 
float minDPhi_
 
int probeCutCode_
 
int(OffEle::* probeCutCodeFunc_ )() const
 

Additional Inherited Members

- Protected Member Functions inherited from egHLT::EgHLTDQMCut< T >
 EgHLTDQMCut (const EgHLTDQMCut &rhs)
 

Detailed Description

template<class T>
struct egHLT::EgJetTagProbeCut< T >

Definition at line 293 of file EgHLTDQMCut.h.

Constructor & Destructor Documentation

template<class T >
egHLT::EgJetTagProbeCut< T >::EgJetTagProbeCut ( int  probeCutCode,
int(T::*)() const  probeCutCodeFunc,
float  minDPhi = -M_PI,
float  maxDPhi = M_PI 
)
inline

Definition at line 301 of file EgHLTDQMCut.h.

Referenced by egHLT::EgJetTagProbeCut< T >::clone().

301  :
302  probeCutCode_(probeCutCode),probeCutCodeFunc_(probeCutCodeFunc),minDPhi_(minDPhi),maxDPhi_(maxDPhi){}
int(OffEle::* probeCutCodeFunc_)() const
Definition: EgHLTDQMCut.h:296

Member Function Documentation

template<class T >
EgHLTDQMCut<T>* egHLT::EgJetTagProbeCut< T >::clone ( void  ) const
inlinevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 304 of file EgHLTDQMCut.h.

References egHLT::EgJetTagProbeCut< T >::EgJetTagProbeCut().

304 {return new EgJetTagProbeCut(*this);}
EgJetTagProbeCut(int probeCutCode, int(T::*probeCutCodeFunc)() const, float minDPhi=-M_PI, float maxDPhi=M_PI)
Definition: EgHLTDQMCut.h:301
template<class T >
bool egHLT::EgJetTagProbeCut< T >::pass ( const T obj,
const OffEvt evt 
) const
virtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 309 of file EgHLTDQMCut.h.

References reco::deltaPhi(), reco::deltaR2(), dPhi(), egHLT::OffEvt::eles(), fwrapper::jets, and egHLT::OffEvt::jets().

310  {
311  int nrProbes=0;
312  const std::vector<OffEle>& eles = evt.eles();
313  for(size_t eleNr=0;eleNr<eles.size();eleNr++){
314  if( ((eles[eleNr].*probeCutCodeFunc_)() & probeCutCode_)==0x0){
315  nrProbes++;
316  }
317  }
318  bool b2bJet=false;
319  const std::vector<reco::CaloJet>& jets =evt.jets();
320  for(size_t jetNr=0;jetNr<jets.size();jetNr++){
321  if(reco::deltaR2(obj.eta(),obj.phi(),jets[jetNr].eta(),jets[jetNr].phi())>0.1*0.1){//not in a cone of 0.1 of probe object
322  float dPhi = reco::deltaPhi(obj.phi(),jets[jetNr].phi());
323  if(dPhi>minDPhi_ && dPhi<maxDPhi_) b2bJet=true;
324  }
325  }
326 
327  return nrProbes==1 && b2bJet;
328 
329  }
double dPhi(double phi1, double phi2)
Definition: JetUtil.h:30
vector< PseudoJet > jets
double deltaR2(const T1 &t1, const T2 &t2)
Definition: deltaR.h:36
int(OffEle::* probeCutCodeFunc_)() const
Definition: EgHLTDQMCut.h:296
double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:12

Member Data Documentation

template<class T >
float egHLT::EgJetTagProbeCut< T >::maxDPhi_
private

Definition at line 299 of file EgHLTDQMCut.h.

template<class T >
float egHLT::EgJetTagProbeCut< T >::minDPhi_
private

Definition at line 298 of file EgHLTDQMCut.h.

template<class T >
int egHLT::EgJetTagProbeCut< T >::probeCutCode_
private

Definition at line 295 of file EgHLTDQMCut.h.

template<class T >
int(OffEle::* egHLT::EgJetTagProbeCut< T >::probeCutCodeFunc_)() const
private

Definition at line 296 of file EgHLTDQMCut.h.