CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
CaloDualConeSelector< T > Class Template Reference

#include <CaloDualConeSelector.h>

Public Member Functions

 CaloDualConeSelector (double dRmin, double dRmax, const CaloGeometry *geom)
 
 CaloDualConeSelector (double dRmin, double dRmax, const CaloGeometry *geom, DetId::Detector detector, int subdet=0)
 
void selectCallback (double eta, double phi, const edm::SortedCollection< T > &inputCollection, std::function< void(const T &)> callback)
 
void selectCallback (const GlobalPoint &p, const edm::SortedCollection< T > &inputCollection, std::function< void(const T &)> callback)
 

Private Attributes

double deltaRmax_
 
double deltaRmin_
 
DetId::Detector detector_
 
const CaloGeometrygeom_
 
int subdet_
 

Detailed Description

template<class T>
class CaloDualConeSelector< T >

Author
J. Mans - Minnesota

Definition at line 14 of file CaloDualConeSelector.h.

Constructor & Destructor Documentation

template<class T>
CaloDualConeSelector< T >::CaloDualConeSelector ( double  dRmin,
double  dRmax,
const CaloGeometry geom 
)
inline

Definition at line 16 of file CaloDualConeSelector.h.

template<class T>
CaloDualConeSelector< T >::CaloDualConeSelector ( double  dRmin,
double  dRmax,
const CaloGeometry geom,
DetId::Detector  detector,
int  subdet = 0 
)
inline

Definition at line 19 of file CaloDualConeSelector.h.

20  : geom_(geom), deltaRmin_(dRmin), deltaRmax_(dRmax), detector_(detector), subdet_(subdet) {}
const CaloGeometry * geom_

Member Function Documentation

template<class T>
void CaloDualConeSelector< T >::selectCallback ( double  eta,
double  phi,
const edm::SortedCollection< T > &  inputCollection,
std::function< void(const T &)>  callback 
)
inline

Definition at line 22 of file CaloDualConeSelector.h.

References edmIntegrityCheck::callback(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by egammaisolation::EgammaHcalExtractor::deposit().

25  {
27  return selectCallback(p, inputCollection, callback);
28  }
void selectCallback(double eta, double phi, const edm::SortedCollection< T > &inputCollection, std::function< void(const T &)> callback)
template<class T>
void CaloDualConeSelector< T >::selectCallback ( const GlobalPoint p,
const edm::SortedCollection< T > &  inputCollection,
std::function< void(const T &)>  callback 
)
inline

Definition at line 30 of file CaloDualConeSelector.h.

References edmIntegrityCheck::callback(), CaloDualConeSelector< T >::deltaRmax_, CaloDualConeSelector< T >::deltaRmin_, CaloDualConeSelector< T >::detector_, edm::SortedCollection< T, SORT >::end(), edm::SortedCollection< T, SORT >::find(), CaloDualConeSelector< T >::geom_, CaloSubdetectorGeometry::getCells(), CaloGeometry::getSubdetectorGeometry(), mps_fire::i, dqmiolumiharvest::j, DBoxMetadataHelper::set_difference(), and CaloDualConeSelector< T >::subdet_.

32  {
33  // TODO: handle default setting of detector_ (loops over subdet)
34  // TODO: heuristics of when it is better to loop over inputCollection instead (small # hits)
35  for (int subdet = subdet_; subdet <= 7 && (subdet_ == 0 || subdet_ == subdet); subdet++) {
37  if (sdg != nullptr) {
38  // get the list of detids within range (from geometry)
41  // use set operations to determine detids in annulus
44  dis_all.begin(), dis_all.end(), dis_excl.begin(), dis_excl.end(), std::inserter(dis, dis.begin()));
45 
46  // loop over detids...
47  typename edm::SortedCollection<T>::const_iterator j, je = inputCollection.end();
48 
49  for (CaloSubdetectorGeometry::DetIdSet::iterator i = dis.begin(); i != dis.end(); i++) {
50  if (i->subdetId() != subdet)
51  continue; // possible for HCAL where the same geometry object handles all the detectors
52  j = inputCollection.find(*i);
53  if (j != je)
54  callback(*j);
55  }
56  }
57  }
58  }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
std::vector< T >::const_iterator const_iterator
virtual DetIdSet getCells(const GlobalPoint &r, double dR) const
Get a list of all cells within a dR of the given cell.
const CaloGeometry * geom_
const_iterator end() const
iterator find(key_type k)
std::vector< std::string > set_difference(std::vector< std::string > const &v1, std::vector< std::string > const &v2)

Member Data Documentation

template<class T>
double CaloDualConeSelector< T >::deltaRmax_
private

Definition at line 62 of file CaloDualConeSelector.h.

Referenced by CaloDualConeSelector< T >::selectCallback().

template<class T>
double CaloDualConeSelector< T >::deltaRmin_
private

Definition at line 62 of file CaloDualConeSelector.h.

Referenced by CaloDualConeSelector< T >::selectCallback().

template<class T>
DetId::Detector CaloDualConeSelector< T >::detector_
private

Definition at line 63 of file CaloDualConeSelector.h.

Referenced by CaloDualConeSelector< T >::selectCallback().

template<class T>
const CaloGeometry* CaloDualConeSelector< T >::geom_
private

Definition at line 61 of file CaloDualConeSelector.h.

Referenced by CaloDualConeSelector< T >::selectCallback().

template<class T>
int CaloDualConeSelector< T >::subdet_
private

Definition at line 64 of file CaloDualConeSelector.h.

Referenced by CaloDualConeSelector< T >::selectCallback().