CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
l1t::Stage1Layer2EGammaAlgorithmImpHI Class Reference

#include <Stage1Layer2EGammaAlgorithmImp.h>

Inheritance diagram for l1t::Stage1Layer2EGammaAlgorithmImpHI:
l1t::Stage1Layer2EGammaAlgorithm

Public Member Functions

void processEvent (const std::vector< l1t::CaloEmCand > &EMCands, const std::vector< l1t::CaloRegion > &regions, const std::vector< l1t::Jet > *jets, std::vector< l1t::EGamma > *egammas) override
 
 Stage1Layer2EGammaAlgorithmImpHI (CaloParamsHelper const *params)
 
 ~Stage1Layer2EGammaAlgorithmImpHI () override=default
 
- Public Member Functions inherited from l1t::Stage1Layer2EGammaAlgorithm
virtual ~Stage1Layer2EGammaAlgorithm ()
 

Private Member Functions

int AssociatedJetPt (int ieta, int iphi, const std::vector< l1t::Jet > *jets) const
 
double HoverE (int et, int ieta, int iphi, const std::vector< l1t::CaloRegion > &regions) const
 
double Isolation (int ieta, int iphi, const std::vector< l1t::CaloRegion > &regions) const
 
unsigned isoLutIndex (unsigned int etaPt, unsigned int jetPt) const
 

Private Attributes

CaloParamsHelper const *const params_
 

Detailed Description

Definition at line 46 of file Stage1Layer2EGammaAlgorithmImp.h.

Constructor & Destructor Documentation

Stage1Layer2EGammaAlgorithmImpHI::Stage1Layer2EGammaAlgorithmImpHI ( CaloParamsHelper const *  params)

Definition at line 25 of file Stage1Layer2EGammaAlgorithmImpHI.cc.

25 : params_(params) {};
l1t::Stage1Layer2EGammaAlgorithmImpHI::~Stage1Layer2EGammaAlgorithmImpHI ( )
overridedefault

Member Function Documentation

int l1t::Stage1Layer2EGammaAlgorithmImpHI::AssociatedJetPt ( int  ieta,
int  iphi,
const std::vector< l1t::Jet > *  jets 
) const
private
double l1t::Stage1Layer2EGammaAlgorithmImpHI::HoverE ( int  et,
int  ieta,
int  iphi,
const std::vector< l1t::CaloRegion > &  regions 
) const
private
double l1t::Stage1Layer2EGammaAlgorithmImpHI::Isolation ( int  ieta,
int  iphi,
const std::vector< l1t::CaloRegion > &  regions 
) const
private
unsigned l1t::Stage1Layer2EGammaAlgorithmImpHI::isoLutIndex ( unsigned int  etaPt,
unsigned int  jetPt 
) const
private
void l1t::Stage1Layer2EGammaAlgorithmImpHI::processEvent ( const std::vector< l1t::CaloEmCand > &  EMCands,
const std::vector< l1t::CaloRegion > &  regions,
const std::vector< l1t::Jet > *  jets,
std::vector< l1t::EGamma > *  egammas 
)
overridevirtual

Implements l1t::Stage1Layer2EGammaAlgorithm.

Definition at line 27 of file Stage1Layer2EGammaAlgorithmImpHI.cc.

References l1t::EGammaToGtScales(), l1t::CaloParamsHelper::egEtaCut(), params_, and l1t::SortEGammas().

30  {
31  int egEtaCut = params_->egEtaCut();
32 
33  std::vector<l1t::EGamma> preSortEGammas;
34  std::vector<l1t::EGamma> preGtEGammas;
35 
36  for(CaloEmCandBxCollection::const_iterator egCand = EMCands.begin();
37  egCand != EMCands.end(); egCand++) {
38 
39  int eg_et = egCand->hwPt();
40  int eg_eta = egCand->hwEta();
41  int eg_phi = egCand->hwPhi();
42  int index = (egCand->hwIso()*4 + egCand->hwQual()) ;
43 
44  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > egLorentz(0,0,0,0);
45 
46  int isoFlag = 0;
47  bool isinBarrel = false;
48  if((egEtaCut & (1<<eg_eta))>>eg_eta) {
49  isinBarrel = true;
50  }
51 
52  isoFlag = isinBarrel;
53  l1t::EGamma theEG(*&egLorentz, eg_et, eg_eta, eg_phi, index, isoFlag);
54  preSortEGammas.push_back(theEG);
55  }
56 
57  SortEGammas(&preSortEGammas, &preGtEGammas);
58  EGammaToGtScales(params_, &preGtEGammas, egammas);
59 
60 }
void SortEGammas(std::vector< l1t::EGamma > *input, std::vector< l1t::EGamma > *output)
void EGammaToGtScales(CaloParamsHelper const *params, const std::vector< l1t::EGamma > *input, std::vector< l1t::EGamma > *output)
std::vector< T >::const_iterator const_iterator
Definition: BXVector.h:20

Member Data Documentation

CaloParamsHelper const* const l1t::Stage1Layer2EGammaAlgorithmImpHI::params_
private

Definition at line 55 of file Stage1Layer2EGammaAlgorithmImp.h.

Referenced by processEvent().