CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
ClusterFillMap Class Reference

#include <ClusterFillMap.h>

Inheritance diagram for ClusterFillMap:
VFillMap

Public Member Functions

 ClusterFillMap (int, int, std::map< int, int >, double, double, std::map< int, int >, EcalIntercalibConstantMap *, EcalIntercalibConstantMap *)
 ctor More...
 
void fillMap (const std::vector< std::pair< DetId, float > > &, const DetId, const EcalRecHitCollection *, const EcalRecHitCollection *, std::map< int, double > &xtlMap, double &)
 Fills the map. More...
 
 ~ClusterFillMap ()
 dtor More...
 
- Public Member Functions inherited from VFillMap
 VFillMap (int, int, std::map< int, int >, double, double, std::map< int, int >, EcalIntercalibConstantMap *, EcalIntercalibConstantMap *)
 ctor More...
 
virtual ~VFillMap ()
 dtor More...
 

Additional Inherited Members

- Public Attributes inherited from VFillMap
EcalIntercalibConstantMapm_barrelMap
 
EcalIntercalibConstantMapm_endcapMap
 
std::map< int, int > m_IndexInRegion
 
double m_maxEnergyPerCrystal
 
double m_minEnergyPerCrystal
 
int m_recoWindowSidex
 
int m_recoWindowSidey
 
std::map< int, int > m_xtalRegionId
 

Detailed Description

Definition at line 7 of file ClusterFillMap.h.

Constructor & Destructor Documentation

ClusterFillMap::ClusterFillMap ( int  WindowX,
int  WindowY,
std::map< int, int >  xtalReg,
double  minE,
double  maxE,
std::map< int, int >  IndexReg,
EcalIntercalibConstantMap barrelMap,
EcalIntercalibConstantMap endcapMap 
)

ctor

Definition at line 5 of file ClusterFillMap.cc.

12  :
13  VFillMap (WindowX,WindowY,xtalReg,minE,
14  maxE, IndexReg,
15  barrelMap,endcapMap)
16 
17  {
18  }
VFillMap(int, int, std::map< int, int >, double, double, std::map< int, int >, EcalIntercalibConstantMap *, EcalIntercalibConstantMap *)
ctor
Definition: VFillMap.cc:3
ClusterFillMap::~ClusterFillMap ( )

dtor

Definition at line 20 of file ClusterFillMap.cc.

21 {
22 }

Member Function Documentation

void ClusterFillMap::fillMap ( const std::vector< std::pair< DetId, float > > &  v1,
const DetId  Max,
const EcalRecHitCollection barrelHitsCollection,
const EcalRecHitCollection endcapHitsCollection,
std::map< int, double > &  xtlMap,
double &  pSubtract 
)
virtual

Fills the map.

Implements VFillMap.

Definition at line 25 of file ClusterFillMap.cc.

References EcalBarrel, EcalEndcap, edm::SortedCollection< T, SORT >::find(), edm::detail::isnan(), VFillMap::m_IndexInRegion, VFillMap::m_maxEnergyPerCrystal, VFillMap::m_minEnergyPerCrystal, VFillMap::m_xtalRegionId, and DetId::rawId().

31 {
32  for (std::vector<std::pair<DetId,float> >::const_iterator idsIt = v1.begin();
33  idsIt != v1.end () ;
34  ++idsIt)
35  {
36  int RegionNumber = m_xtalRegionId[Max.rawId()];
38  double dummy=0.;
39  if(idsIt->first.subdetId()==EcalBarrel)
40  {
41  itrechit=barrelHitsCollection->find(idsIt->first);
42  dummy=itrechit->energy();
43  dummy*= (*m_barrelMap)[idsIt->first];
44  }
45  if(idsIt->first.subdetId()==EcalEndcap){
46  itrechit=endcapHitsCollection->find(idsIt->first);
47  dummy=itrechit->energy();
48  dummy*= (*m_endcapMap)[idsIt->first];
49  }
50  int ID=idsIt->first.rawId();
51  if (std::isnan(dummy)) {
52  dummy=0;
53  }
54  if ( dummy < m_minEnergyPerCrystal ) continue; //return 1;
55  if ( dummy > m_maxEnergyPerCrystal ) {
56  dummy=0;
57  continue;
58  }
59  if (m_xtalRegionId[ID]==RegionNumber)
60  xtlMap[m_IndexInRegion[ID]] += dummy;
61  else pSubtract +=dummy;
62  }
63 }
double m_maxEnergyPerCrystal
Definition: VFillMap.h:39
uint32_t ID
Definition: Definitions.h:26
std::vector< EcalRecHit >::const_iterator const_iterator
std::map< int, int > m_IndexInRegion
Definition: VFillMap.h:40
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
double m_minEnergyPerCrystal
Definition: VFillMap.h:38
bool isnan(float x)
Definition: math.h:13
std::map< int, int > m_xtalRegionId
Definition: VFillMap.h:37
iterator find(key_type k)