CMS 3D CMS Logo

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

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)=default
 

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.

References haddnano::obj, and egHLT::EgHLTDQMCut< T >::pass().

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
inlineoverridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 304 of file EgHLTDQMCut.h.

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
overridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 309 of file EgHLTDQMCut.h.

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

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

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.