ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonDataPrep
CscClusterization
src
CscThresholdClusterBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// CscThresholdClusterBuilder.h
6
7
#ifndef CscThresholdClusterBuilder_H
8
#define CscThresholdClusterBuilder_H
9
10
// David Adams
11
// June 2006
12
//
13
// ATLAS algorithm to build CSC clusters from CSC digits.
14
// A simple threshold cluster algorithm is applied: any adjacent
15
// channels with charge above a user-specified threshold are
16
// merged into a cluster.
17
//
18
// Clusters are tagged as spoiled if any of the following apply:
19
// 1. Too narrow: only one strip.
20
// 2. Too wide: pitch*(nstrip-1) above a user-specified cutoff.
21
// 3. Multiple peaks.
22
// 4. Skewed: peak not in in the central channel for an odd cluster
23
// (odd # strips) or central two for an even cluster.
24
// 5. Edge: cluster includes the first or last strip in the plane.
25
// 6. RMS: charge centroid RMS is too large
26
// The different algorithms used to evaluate the unspoiled position
27
// may transfer clusters into the spoiled state. E.g. the adjacent
28
// charge ratios method requires left and right to be consistent.
29
//
30
// Spoiled clusters are assigned position at the center of the cluster
31
// and a large error: width/sqrt(12) with possible correction for the
32
// intrinsic signal width.
33
//
34
// The positions for unspoiled clusters may evaluated in a number of
35
// ways selected through job options.
36
//
37
// The corrected charge centroid method starts with the charge
38
// centroid and then applies a strip position correction
39
// which is a function of the plane type (CSS or CSL, r or phi), the
40
// number of strips in the cluster, and the deviation of the charge
41
// centroid from the center of the cluster. Thes corrections are 4th
42
// order odd polynomials in that deviation, i.e.
43
// A d + B d**3 + C D**5 + D d**7
44
// and the coefficients were determined by comparison with Monte Carlo
45
// track positions. For now these coefficients are hardwired into the
46
// code.
47
//
48
// The adjacent charge ratios method uses the ratios of the left and
49
// right charges to that of the central strip to estimate the position
50
// again using a polynomial calibration.
51
//
52
// Unspoiled clusters are assigned a position error of
53
// m_unspoiled_error.
54
55
// Algorithm to construct CSC clusters from digits.
56
57
#include "
AthenaBaseComps/AthAlgorithm.h
"
58
#include "
CscClusterization/ICscClusterBuilder.h
"
59
#include "
CscClusterization/ICscClusterFitter.h
"
60
#include "
CscClusterization/ICscStripFitter.h
"
61
#include "GaudiKernel/ToolHandle.h"
62
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
63
#include "
MuonPrepRawData/CscPrepDataContainer.h
"
64
#include "
MuonPrepRawData/MuonPrepDataContainer.h
"
65
66
namespace
MuonGM
{
67
class
MuonDetectorManager
;
68
}
69
class
CscIdHelper
;
70
namespace
Muon
{
71
class
CscPrepData
;
72
class
CscStripPrepData
;
73
}
// namespace Muon
74
typedef
Muon::CscPrepData
MyCscDigit
;
75
class
CscDigit
;
76
77
class
CscThresholdClusterBuilder
:
public
AthAlgorithm
{
78
public
:
// methods
79
// Constructor.
80
CscThresholdClusterBuilder
(
const
std::string& name, ISvcLocator* pSvcLocator);
81
82
// Destructor.
83
~CscThresholdClusterBuilder
();
84
85
// Initialization.
86
StatusCode
initialize
();
87
88
// Event processing.
89
StatusCode
execute
(
const
EventContext& ctx);
90
91
private
:
// data
92
// Strip fitter.
93
ToolHandle<ICscClusterBuilder>
m_cluster_builder
{
94
this
,
95
"cluster_builder"
,
96
"CscThresholdClusterBuilderTool/CscThresholdClusterBuilderTool"
,
97
};
98
99
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
100
this
,
101
"MuonIdHelperSvc"
,
102
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
,
103
};
104
105
SG::WriteHandleKey<Muon::CscPrepDataContainer>
m_pclusters
{
this
,
"cluster_key"
,
"CSC_Clusters"
,
"Ouput CSC Cluster container"
};
106
};
107
108
#endif
AthAlgorithm.h
MyCscDigit
Muon::CscPrepData MyCscDigit
Definition
CscPeakThresholdClusterBuilderTool.h:70
CscPrepDataContainer.h
ICscClusterBuilder.h
ICscClusterFitter.h
ICscStripFitter.h
IMuonIdHelperSvc.h
MuonPrepDataContainer.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
CscDigit
Definition
CscDigit.h:17
CscIdHelper
Definition
CscIdHelper.h:52
CscThresholdClusterBuilder::CscThresholdClusterBuilder
CscThresholdClusterBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Definition
CscThresholdClusterBuilder.cxx:17
CscThresholdClusterBuilder::m_cluster_builder
ToolHandle< ICscClusterBuilder > m_cluster_builder
Definition
CscThresholdClusterBuilder.h:93
CscThresholdClusterBuilder::~CscThresholdClusterBuilder
~CscThresholdClusterBuilder()
CscThresholdClusterBuilder::execute
StatusCode execute(const EventContext &ctx)
Execute method.
Definition
CscThresholdClusterBuilder.cxx:42
CscThresholdClusterBuilder::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
CscThresholdClusterBuilder.h:99
CscThresholdClusterBuilder::initialize
StatusCode initialize()
Definition
CscThresholdClusterBuilder.cxx:28
CscThresholdClusterBuilder::m_pclusters
SG::WriteHandleKey< Muon::CscPrepDataContainer > m_pclusters
Definition
CscThresholdClusterBuilder.h:105
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition
MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:51
Muon::CscPrepData
Class representing clusters from the CSC.
Definition
CscPrepData.h:39
Muon::CscStripPrepData
Class representing the raw data of one CSC strip (for clusters look at Muon::CscPrepData).
Definition
CscStripPrepData.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0