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
CaloDualConeSelector Class 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)
 
std::auto_ptr
< CaloRecHitMetaCollectionV
select (double eta, double phi, const CaloRecHitMetaCollectionV &inputCollection)
 
std::auto_ptr
< CaloRecHitMetaCollectionV
select (const GlobalPoint &p, const CaloRecHitMetaCollectionV &inputCollection)
 

Private Attributes

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

Detailed Description

Author
J. Mans - Minnesota

Definition at line 12 of file CaloDualConeSelector.h.

Constructor & Destructor Documentation

CaloDualConeSelector::CaloDualConeSelector ( double  dRmin,
double  dRmax,
const CaloGeometry geom 
)

Definition at line 7 of file CaloDualConeSelector.cc.

CaloDualConeSelector::CaloDualConeSelector ( double  dRmin,
double  dRmax,
const CaloGeometry geom,
DetId::Detector  detector,
int  subdet = 0 
)

Definition at line 11 of file CaloDualConeSelector.cc.

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

Member Function Documentation

std::auto_ptr< CaloRecHitMetaCollectionV > CaloDualConeSelector::select ( double  eta,
double  phi,
const CaloRecHitMetaCollectionV inputCollection 
)

Definition at line 15 of file CaloDualConeSelector.cc.

References AlCaHLTBitMon_ParallelJobs::p, and select().

Referenced by egammaisolation::EgammaHcalExtractor::deposit(), EgammaHcalIsolation::getHcalSum(), and select().

15  {
17  return select(p,inputCollection);
18 }
T eta() const
std::auto_ptr< CaloRecHitMetaCollectionV > select(double eta, double phi, const CaloRecHitMetaCollectionV &inputCollection)
Definition: DDAxes.h:10
std::auto_ptr< CaloRecHitMetaCollectionV > CaloDualConeSelector::select ( const GlobalPoint p,
const CaloRecHitMetaCollectionV inputCollection 
)

Definition at line 20 of file CaloDualConeSelector.cc.

References CaloRecHitMetaCollectionFast::add(), trackerHits::c, deltaRmax_, deltaRmin_, detector_, CaloRecHitMetaCollectionV::end(), CaloRecHitMetaCollectionV::find(), geom_, CaloSubdetectorGeometry::getCells(), CaloGeometry::getSubdetectorGeometry(), i, j, and subdet_.

20  {
22 
23  // TODO: handle default setting of detector_ (loops over subdet)
24  // TODO: heuristics of when it is better to loop over inputCollection instead (small # hits)
25  for (int subdet=subdet_; subdet<=7 && (subdet_==0 || subdet_==subdet); subdet++) {
27  if (sdg!=0) {
28  // get the list of detids within range (from geometry)
31  // use set operations to determine detids in annulus
33  std::set_difference(dis_all.begin(),dis_all.end(),
34  dis_excl.begin(),dis_excl.end(),
35  std::inserter(dis,dis.begin()));
36  // loop over detids...
37  CaloRecHitMetaCollectionV::const_iterator j,je=inputCollection.end();
38 
39  for (CaloSubdetectorGeometry::DetIdSet::iterator i=dis.begin(); i!=dis.end(); i++) {
40  if (i->subdetId()!=subdet) continue; // possible for HCAL where the same geometry object handles all the detectors
41  j=inputCollection.find(*i);
42  if (j!=je) c->add(&(*j));
43  }
44  }
45  }
46 
47  return std::auto_ptr<CaloRecHitMetaCollectionV>(c);
48 }
virtual const_iterator find(const DetId &id) const
find by id (default version is very slow unsorted find)
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:43
int i
Definition: DBlmapReader.cc:9
void add(const CaloRecHit *hit)
add an item to the collection
const_iterator end() const
get the ending iterator
virtual DetIdSet getCells(const GlobalPoint &r, double dR) const
Get a list of all cells within a dR of the given cell.
int j
Definition: DBlmapReader.cc:9
const CaloGeometry * geom_

Member Data Documentation

double CaloDualConeSelector::deltaRmax_
private

Definition at line 21 of file CaloDualConeSelector.h.

Referenced by select().

double CaloDualConeSelector::deltaRmin_
private

Definition at line 21 of file CaloDualConeSelector.h.

Referenced by select().

DetId::Detector CaloDualConeSelector::detector_
private

Definition at line 22 of file CaloDualConeSelector.h.

Referenced by select().

const CaloGeometry* CaloDualConeSelector::geom_
private

Definition at line 20 of file CaloDualConeSelector.h.

Referenced by select().

int CaloDualConeSelector::subdet_
private

Definition at line 23 of file CaloDualConeSelector.h.

Referenced by select().