ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Atlas
G4AtlasTests
src
sTGCHitsTestTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
sTGCHitsTestTool.h
"
6
7
#include "Identifier/Identifier.h"
8
9
#include "
GeoAdaptors/GeoMuonHits.h
"
10
11
#include "
MuonReadoutGeometry/MuonDetectorManager.h
"
12
#include "
MuonReadoutGeometry/sTgcReadoutElement.h
"
13
14
#include "
MuonSimEvent/sTgcHitIdHelper.h
"
15
16
#include "
MuonSimEvent/sTGCSimHitCollection.h
"
17
#include "
MuonSimEvent/sTGCSimHit.h
"
18
19
#include "
GeneratorObjects/McEventCollection.h
"
20
#include "CLHEP/Vector/LorentzVector.h"
21
22
#include "GaudiKernel/NTuple.h"
23
#include "GaudiKernel/SmartDataPtr.h"
24
#include "GaudiKernel/IDataProviderSvc.h"
25
#include "GaudiKernel/ITHistSvc.h"
26
#include "GaudiKernel/INTupleSvc.h"
27
28
#include "TH2D.h"
29
#include "TROOT.h"
30
#include "TFile.h"
31
#include "TTree.h"
32
#include "TF1.h"
33
#include "TH1F.h"
34
35
using namespace
MuonGM
;
36
using namespace
std
;
37
38
39
StatusCode
sTGCHitsTestTool::processEvent
() {
40
CHECK
(
executeCheckEventInfo
());
41
42
if
(
m_DosTGCTest
) {
43
const
sTGCSimHitCollection
* p_collection =
nullptr
;
44
CHECK
(evtStore()->retrieve(p_collection,
"sTGC_Hits"
));
45
for
(
const
sTGCSimHit
&
hit
: *p_collection) {
46
Amg::Vector3D
u =
hit
.globalPosition();
47
CHECK
(
executeFillHistos
(u));
48
49
50
const
sTgcHitIdHelper
* hitHelper =
sTgcHitIdHelper::GetHelper
();
51
int
simId =
hit
.sTGCId();
52
std::string sim_stationName = hitHelper->
GetStationName
(simId);
53
54
static
const
std::string QS1C(
"QS1C"
);
55
static
const
std::string QS2C(
"QS2C"
);
56
static
const
std::string QS3C(
"QS3C"
);
57
static
const
std::string QL1P(
"QL1P"
);
58
static
const
std::string QL2P(
"QL2P"
);
59
static
const
std::string QL3P(
"QL3P"
);
60
61
if
(sim_stationName==QS1C && u.z()>0){
62
m_sTgc_TransverseView_QS1C_posZ
->Fill(u.x(),u.y());
63
}
64
65
66
if
(sim_stationName==QS2C && u.z()>0){
67
m_sTgc_TransverseView_QS2C_posZ
->Fill(u.x(),u.y());
68
}
69
70
71
if
(sim_stationName==QS3C && u.z()>0){
72
m_sTgc_TransverseView_QS3C_posZ
->Fill(u.x(),u.y());
73
}
74
75
if
(sim_stationName==QL1P && u.z()>0){
76
m_sTgc_TransverseView_QL1P_posZ
->Fill(u.x(),u.y());
77
}
78
79
80
if
(sim_stationName==QL2P && u.z()>0){
81
m_sTgc_TransverseView_QL2P_posZ
->Fill(u.x(),u.y());
82
}
83
84
if
(sim_stationName==QL3P && u.z()>0){
85
m_sTgc_TransverseView_QL3P_posZ
->Fill(u.x(),u.y());
86
}
87
88
double
r_sTGc = sqrt(u.x()*u.x()+u.y()*u.y());
89
90
if
(u.z() > 0){
91
m_sTgc_rZview_positiveZ
->Fill(u.z(), r_sTGc);
92
}
93
94
95
// GeoMMHit ghit(hit);
96
// if (!ghit) continue;
97
// Amg::Vector3D u = ghit.getGlobalPosition();
98
// CHECK(executeFillHistos(u));
99
}
100
}
101
102
return
StatusCode::SUCCESS;
103
}
104
105
106
StatusCode
sTGCHitsTestTool::initialize
() {
107
CHECK
(
MuonHitTestToolBase::initialize
());
108
_TH2D
(
m_sTgc_TransverseView_QS1C_posZ
,
"sTGC_TransverseView_QS1C_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
109
_TH2D
(
m_sTgc_TransverseView_QS2C_posZ
,
"sTGC_TransverseView_QS2C_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
110
_TH2D
(
m_sTgc_TransverseView_QS3C_posZ
,
"sTGC_TransverseView_QS3C_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
111
112
_TH2D
(
m_sTgc_TransverseView_QL1P_posZ
,
"sTGC_TransverseView_QL1P_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
113
_TH2D
(
m_sTgc_TransverseView_QL2P_posZ
,
"sTGC_TransverseView_QL2P_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
114
_TH2D
(
m_sTgc_TransverseView_QL3P_posZ
,
"sTGC_TransverseView_QL3P_posZ"
,1200,-6000.,6000.,1200,-6000.,6000.);
115
116
_TH2D
(
m_sTgc_rZview_positiveZ
,
"sTGC_rZView_posZ"
,2000,6500.,8500.,5000,0.,5000.);
117
return
StatusCode::SUCCESS;
118
}
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
GeoMuonHits.h
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
McEventCollection.h
MuonDetectorManager.h
sTgcReadoutElement.h
_TH2D
#define _TH2D(var, name, nbinx, xmin, xmax, nbiny, ymin, ymax)
Definition
SimTestHisto.h:91
MuonHitTestToolBase::executeFillHistos
StatusCode executeFillHistos(const Amg::Vector3D &)
Definition
MuonHitTestToolBase.cxx:70
MuonHitTestToolBase::executeCheckEventInfo
StatusCode executeCheckEventInfo()
Definition
MuonHitTestToolBase.cxx:35
MuonHitTestToolBase::initialize
virtual StatusCode initialize() override
Definition
MuonHitTestToolBase.cxx:111
sTGCHitsTestTool::m_sTgc_TransverseView_QS3C_posZ
TH2 * m_sTgc_TransverseView_QS3C_posZ
Definition
sTGCHitsTestTool.h:31
sTGCHitsTestTool::m_sTgc_TransverseView_QL2P_posZ
TH2 * m_sTgc_TransverseView_QL2P_posZ
Definition
sTGCHitsTestTool.h:33
sTGCHitsTestTool::m_sTgc_TransverseView_QS1C_posZ
TH2 * m_sTgc_TransverseView_QS1C_posZ
Definition
sTGCHitsTestTool.h:29
sTGCHitsTestTool::m_sTgc_TransverseView_QL1P_posZ
TH2 * m_sTgc_TransverseView_QL1P_posZ
Definition
sTGCHitsTestTool.h:32
sTGCHitsTestTool::processEvent
virtual StatusCode processEvent() override final
Definition
sTGCHitsTestTool.cxx:39
sTGCHitsTestTool::m_DosTGCTest
bool m_DosTGCTest
Definition
sTGCHitsTestTool.h:39
sTGCHitsTestTool::initialize
virtual StatusCode initialize() override final
Definition
sTGCHitsTestTool.cxx:106
sTGCHitsTestTool::m_sTgc_TransverseView_QL3P_posZ
TH2 * m_sTgc_TransverseView_QL3P_posZ
Definition
sTGCHitsTestTool.h:34
sTGCHitsTestTool::m_sTgc_rZview_positiveZ
TH2 * m_sTgc_rZview_positiveZ
Definition
sTGCHitsTestTool.h:35
sTGCHitsTestTool::m_sTgc_TransverseView_QS2C_posZ
TH2 * m_sTgc_TransverseView_QS2C_posZ
Definition
sTGCHitsTestTool.h:30
sTGCSimHit
Definition
sTGCSimHit.h:15
sTgcHitIdHelper
Definition
sTgcHitIdHelper.h:13
sTgcHitIdHelper::GetStationName
std::string GetStationName(const int &hid) const
Definition
sTgcHitIdHelper.cxx:56
sTgcHitIdHelper::GetHelper
static const sTgcHitIdHelper * GetHelper()
Definition
sTgcHitIdHelper.cxx:24
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
std
STL namespace.
sTGCHitsTestTool.h
sTGCSimHitCollection.h
sTGCSimHitCollection
AtlasHitsVector< sTGCSimHit > sTGCSimHitCollection
Definition
sTGCSimHitCollection.h:15
sTGCSimHit.h
sTgcHitIdHelper.h
Generated on
for ATLAS Offline Software by
1.17.0