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
public
:
25
EcalRingCalibrationTools
(){};
26
~EcalRingCalibrationTools
(){};
27
29
static
short
getRingIndex
(
DetId
aDetId);
30
31
static
short
getModuleIndex
(
DetId
aDetId);
32
34
static
std::vector<DetId>
getDetIdsInRing
(
short
aRingIndex);
35
static
std::vector<DetId>
getDetIdsInModule
(
short
int
);
36
static
std::vector<DetId>
getDetIdsInECAL
();
37
38
static
constexpr
short
N_RING_TOTAL
= 248;
39
static
constexpr
short
N_RING_BARREL
= 170;
40
static
constexpr
short
N_RING_ENDCAP
= 78;
41
42
static
constexpr
short
N_MODULES_BARREL
= 144;
43
44
static
void
setCaloGeometry
(
const
CaloGeometry
*
geometry
);
45
46
private
:
47
static
void
initializeFromGeometry
(
CaloGeometry
const
*
geometry
);
// needed only for the endcap
48
49
static
std::atomic<bool>
isInitializedFromGeometry_
;
50
51
CMS_THREAD_GUARD
(
isInitializedFromGeometry_
)
52
static
short
endcapRingIndex_
[
EEDetId
::
IX_MAX
][
EEDetId
::
IY_MAX
];
// array needed only for the endcaps
53
54
static
std
::once_flag
once_
;
55
};
56
#endif
EcalRingCalibrationTools::endcapRingIndex_
static short endcapRingIndex_[EEDetId::IX_MAX][EEDetId::IY_MAX]
Definition:
EcalRingCalibrationTools.h:52
EcalRingCalibrationTools::getModuleIndex
static short getModuleIndex(DetId aDetId)
Definition:
EcalRingCalibrationTools.cc:49
EcalRingCalibrationTools
Definition:
EcalRingCalibrationTools.h:23
EcalRingCalibrationTools::setCaloGeometry
static void setCaloGeometry(const CaloGeometry *geometry)
Definition:
EcalRingCalibrationTools.cc:181
EcalRingCalibrationTools::isInitializedFromGeometry_
static std::atomic< bool > isInitializedFromGeometry_
Definition:
EcalRingCalibrationTools.h:49
EcalRingCalibrationTools::N_MODULES_BARREL
static constexpr short N_MODULES_BARREL
Definition:
EcalRingCalibrationTools.h:42
EcalRingCalibrationTools::N_RING_ENDCAP
static constexpr short N_RING_ENDCAP
Definition:
EcalRingCalibrationTools.h:40
IX_MAX
Definition:
EcalFloatCondObjectContainerUtils.h:20
EcalRingCalibrationTools::initializeFromGeometry
static void initializeFromGeometry(CaloGeometry const *geometry)
Definition:
EcalRingCalibrationTools.cc:185
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:24
EcalRingCalibrationTools::getDetIdsInRing
static std::vector< DetId > getDetIdsInRing(short aRingIndex)
Retrieve the DetIds in a phi-ring.
Definition:
EcalRingCalibrationTools.cc:66
EEDetId
Definition:
EEDetId.h:14
EcalRingCalibrationTools::N_RING_BARREL
static constexpr short N_RING_BARREL
Definition:
EcalRingCalibrationTools.h:39
CMS_THREAD_GUARD
#define CMS_THREAD_GUARD(_var_)
CaloGeometry
Definition:
CaloGeometry.h:21
EcalRingCalibrationTools::getDetIdsInModule
static std::vector< DetId > getDetIdsInModule(short int)
Definition:
EcalRingCalibrationTools.cc:125
DetId
Definition:
DetId.h:17
EcalRingCalibrationTools::N_RING_TOTAL
static constexpr short N_RING_TOTAL
Definition:
EcalRingCalibrationTools.h:38
EcalRingCalibrationTools::~EcalRingCalibrationTools
~EcalRingCalibrationTools()
Definition:
EcalRingCalibrationTools.h:26
EcalRingCalibrationTools::getDetIdsInECAL
static std::vector< DetId > getDetIdsInECAL()
Definition:
EcalRingCalibrationTools.cc:102
IY_MAX
Definition:
EcalFloatCondObjectContainerUtils.h:21
EBDetId.h
EEDetId.h
geometry
Definition:
geometry.py:1
EcalRingCalibrationTools::EcalRingCalibrationTools
EcalRingCalibrationTools()
Definition:
EcalRingCalibrationTools.h:25
EcalRingCalibrationTools::once_
static std::once_flag once_
Definition:
EcalRingCalibrationTools.h:54
Generated for CMSSW Reference Manual by
1.8.14