Main Page
Namespaces
Classes
Package Documentation
Calibration
Tools
interface
EcalRingCalibrationTools.h
Go to the documentation of this file.
1
#ifndef EcalRingCalibrationTools_h
2
#define EcalRingCalibrationTools_h
3
4
/****************************************
5
*
6
* 25/09/2007 P. Meridiani (CERN)
7
* Description:
8
* Tools to ease the hanling of indices
9
* for ECAL ring intercalibration
10
*
11
***************************************/
12
13
#include <vector>
14
#include <mutex>
15
#include <atomic>
16
#include "
DataFormats/EcalDetId/interface/EBDetId.h
"
17
#include "
DataFormats/EcalDetId/interface/EEDetId.h
"
18
#include "
FWCore/Utilities/interface/thread_safety_macros.h
"
19
20
class
DetId
;
21
class
CaloGeometry
;
22
23
class
EcalRingCalibrationTools
24
{
25
public
:
26
EcalRingCalibrationTools
() {};
27
~EcalRingCalibrationTools
() {};
28
30
static
short
getRingIndex
(
DetId
aDetId);
31
32
static
short
getModuleIndex
(
DetId
aDetId);
33
35
static
std::vector<DetId>
getDetIdsInRing
(
short
aRingIndex);
36
static
std::vector<DetId>
getDetIdsInModule
(
short
int
);
37
static
std::vector<DetId>
getDetIdsInECAL
();
38
39
static
constexpr
short
N_RING_TOTAL
= 248;
40
static
constexpr
short
N_RING_BARREL
= 170;
41
static
constexpr
short
N_RING_ENDCAP
= 78;
42
43
static
constexpr
short
N_MODULES_BARREL
= 144;
44
45
static
void
setCaloGeometry
(
const
CaloGeometry
*
geometry
);
46
47
private
:
48
static
void
initializeFromGeometry
(
CaloGeometry
const
*
geometry
);
// needed only for the endcap
49
50
static
std::atomic<bool>
isInitializedFromGeometry_
;
51
52
CMS_THREAD_GUARD
(isInitializedFromGeometry_)
53
static
short
endcapRingIndex_
[
EEDetId
::IX_MAX][
EEDetId
::IY_MAX];
// array needed only for the endcaps
54
55
static
std
::once_flag
once_
;
56
57
};
58
#endif
EcalRingCalibrationTools::endcapRingIndex_
static short endcapRingIndex_[EEDetId::IX_MAX][EEDetId::IY_MAX]
Definition:
EcalRingCalibrationTools.h:53
EcalRingCalibrationTools::getModuleIndex
static short getModuleIndex(DetId aDetId)
Definition:
EcalRingCalibrationTools.cc:52
EcalRingCalibrationTools
Definition:
EcalRingCalibrationTools.h:23
EcalRingCalibrationTools::setCaloGeometry
static void setCaloGeometry(const CaloGeometry *geometry)
Definition:
EcalRingCalibrationTools.cc:207
EcalRingCalibrationTools::isInitializedFromGeometry_
static std::atomic< bool > isInitializedFromGeometry_
Definition:
EcalRingCalibrationTools.h:50
EcalRingCalibrationTools::initializeFromGeometry
static void initializeFromGeometry(CaloGeometry const *geometry)
Definition:
EcalRingCalibrationTools.cc:212
thread_safety_macros.h
std
Definition:
JetResolutionObject.h:76
EcalRingCalibrationTools::getRingIndex
static short getRingIndex(DetId aDetId)
Retrieve the phi-ring index corresponding to a DetId.
Definition:
EcalRingCalibrationTools.cc:25
EcalRingCalibrationTools::getDetIdsInRing
static std::vector< DetId > getDetIdsInRing(short aRingIndex)
Retrieve the DetIds in a phi-ring.
Definition:
EcalRingCalibrationTools.cc:77
constexpr
#define constexpr
EcalRingCalibrationTools::N_RING_ENDCAP
static constexpr short N_RING_ENDCAP
Definition:
EcalRingCalibrationTools.h:41
EEDetId
Definition:
EEDetId.h:15
CMS_THREAD_GUARD
#define CMS_THREAD_GUARD(_var_)
CaloGeometry
Definition:
CaloGeometry.h:23
EcalRingCalibrationTools::getDetIdsInModule
static std::vector< DetId > getDetIdsInModule(short int)
Definition:
EcalRingCalibrationTools.cc:143
DetId
Definition:
DetId.h:18
EcalRingCalibrationTools::N_RING_BARREL
static constexpr short N_RING_BARREL
Definition:
EcalRingCalibrationTools.h:40
EcalRingCalibrationTools::~EcalRingCalibrationTools
~EcalRingCalibrationTools()
Definition:
EcalRingCalibrationTools.h:27
EcalRingCalibrationTools::getDetIdsInECAL
static std::vector< DetId > getDetIdsInECAL()
Definition:
EcalRingCalibrationTools.cc:118
EBDetId.h
EEDetId.h
EcalRingCalibrationTools::N_RING_TOTAL
static constexpr short N_RING_TOTAL
Definition:
EcalRingCalibrationTools.h:39
geometry
Definition:
geometry.py:1
EcalRingCalibrationTools::EcalRingCalibrationTools
EcalRingCalibrationTools()
Definition:
EcalRingCalibrationTools.h:26
EcalRingCalibrationTools::once_
static std::once_flag once_
Definition:
EcalRingCalibrationTools.h:55
EcalRingCalibrationTools::N_MODULES_BARREL
static constexpr short N_MODULES_BARREL
Definition:
EcalRingCalibrationTools.h:43
Generated for CMSSW Reference Manual by
1.8.11