![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef FPGATRACKSIM_MAPMAKERALG_H
6 #define FPGATRACKSIM_MAPMAKERALG_H
13 #include "GaudiKernel/ToolHandle.h"
45 ToolHandle<IFPGATrackSimEventInputHeaderTool>
m_hitInputTool {
this,
"InputTool",
"FPGATrackSimSGToRawHitsTool/FPGATrackSimInputTool",
"HitInput Tool" };
77 Gaudi::Property<int>
m_maxEvents {
this,
"maxEvents", 10000,
"Max Events"};
78 Gaudi::Property<int>
m_region {
this,
"region", 0,
"Region"};
79 Gaudi::Property<float>
m_trim {
this,
"trim", 0.1,
"trim modules with less than given percent of tracks"};
80 Gaudi::Property<std::string>
m_outFileName {
this,
"OutFileName",
"",
"naming convention for maps"};
81 Gaudi::Property<std::string>
m_keystring {
this,
"KeyString",
"strip,barrel,2",
"key layer to use for subrmap"};
82 Gaudi::Property<std::string>
m_keystring2 {
this,
"KeyString2",
"",
"second key layer for 2D slicing"};
83 Gaudi::Property<int>
m_nSlices {
this,
"nSlices", -1,
"default is full granularity/maximum number of slices possible"};
84 Gaudi::Property<bool>
m_doSpacePoints {
this,
"doSpacePoints",
false,
"Use 9L instead of 8L configuration for first stage (for example)"};
85 Gaudi::Property<float>
m_globalTrim {
this,
"globalTrim", 0.1,
"Trimming applied globally to the key layer before determining slice boundaries"};
86 Gaudi::Property<std::string>
m_description {
this,
"description",
"",
"tag description"};
87 Gaudi::Property<std::string>
m_geoTag {
this,
"GeometryVersion",
"ATLAS-P2-ITK-22-02-00",
"Geometry tag that this set of maps is for. TODO can we store/read from wrappers?"};
88 Gaudi::Property<bool>
m_remapModules {
this,
"remapModules",
false,
"Allow maps to be drawn that slice modules more finely, by remapping module indices"};
89 Gaudi::Property<bool>
m_drawSlices {
this,
"drawSlices",
false,
"Draw the huge 2D slice histograms"};
114 const std::vector<std::vector<std::vector<std::string>>>*
m_planes{};
118 {
"pb4"},{
"sb0"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
122 {
"pb4"},{
"sb0"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
125 {
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"}
128 {
"pb4",
"pe83+",
"pe84+",
"pe85+",
"pe86+",
"pe87+",
"pe88+",
"pe89+"},{
"se5+"},{
"se6+"},{
"se7+"},{
"se8+"},{
"se9+"},{
"se10+"},{
"se11+"}
131 {
"pe34+",
"pe12+"},{
"pe36+",
"pe29+"},{
"pe8+",
"pe40+",
"pe30+"},{
"pe56+",
"pe65+"},{
"pe10+",
"pe6+"},{
"pe11+",
"pe7+"},{
"pe31+",
"pe32+"},{
"pe9+",
"pe53+"}
134 {
"pb4"},{
"sb0"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
137 {
"pb4"},{
"sb0"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
140 {
"pb4"},{
"sb0"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
147 const std::vector< std::vector< std::vector<std::string> > >
m_planes_sp =
150 {
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
154 {
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
157 {
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"}
160 {
"pb4",
"pe83+",
"pe84+",
"pe85+",
"pe86+",
"pe87+",
"pe88+",
"pe89+"},{
"se4+"},{
"se5+"},{
"se6+"},{
"se7+"},{
"se8+"},{
"se9+"},{
"se10+"},{
"se11+"}
164 {
"pe4+",
"pe5+",
"pe6+"},
165 {
"pe7+",
"pe8+",
"pe9+"},
166 {
"pe10+",
"pe11+",
"pe12+",
"pe29+"},
167 {
"pe30+",
"pe31+",
"pe32+",
"pe33+"},
170 {
"pe38+",
"pe40+",
"pe42+",
"pe53+"},
172 {
"pe56+",
"pe57+",
"pe65+"}
175 {
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
178 {
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
181 {
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
185 const std::vector <std::vector <std::vector <std::string> > >
m_planes2 =
188 {
"pb0"},{
"pb1"},{
"pb2"},{
"pb3"},{
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
191 {
"pb0"},{
"pb1"},{
"pb2"},{
"pb3"},{
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
194 {
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"},{
"-1"}
197 {
"pb2"},{
"pb3",
"pe58+"},{
"pb4",
"pe83+",
"pe84+",
"pe85+",
"pe86+",
"pe87+",
"pe88+",
"pe89+"},{
"se2+"},{
"se3+"},{
"se4+"},{
"se5+"},{
"se6+"},{
"se7+"},{
"se8+"},{
"se9+"},{
"se10+"},{
"se11+"}
200 {
"pe0+"},{
"pe1+"},{
"pe2+"},{
"pe3+"},{
"pe4+"},{
"pe5+"},{
"pe6+"},{
"pe7+"},{
"pe8+"},{
"pe9+"},{
"pe10+"},{
"pe11+"},{
"pe12+"}
203 {
"pb0"},{
"pb1"},{
"pb2"},{
"pb3"},{
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
206 {
"pb0"},{
"pb1"},{
"pb2"},{
"pb3"},{
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
209 {
"pb0"},{
"pb1"},{
"pb2"},{
"pb3"},{
"pb4"},{
"sb0"},{
"sb1"},{
"sb2"},{
"sb3"},{
"sb4"},{
"sb5"},{
"sb6"},{
"sb7"}
220 std::vector <std::vector < std::vector<float> > >
m_radii;
221 std::vector <std::vector < std::vector<float> > >
m_z;
231 StatusCode writePmapAndRmap(std::vector<FPGATrackSimHit>
const & pbHits, std::vector<FPGATrackSimHit>
const & peHits, std::vector<FPGATrackSimHit>
const & sbHits, std::vector<FPGATrackSimHit>
const & seHits,
int region);
238 void drawSlices(std::vector<FPGATrackSimHit>
const & allHits);
242 int findPlane(
const std::vector<std::vector<std::string>>& planes,
const std::string&
test);
249 #endif // FPGATRACKSIMMAPMAKERALG_H
const std::vector< std::vector< std::vector< std::string > > > m_planes_default
std::string makeSubrmapLines(std::vector< Module * > const &allmods, SiliconTech det, DetectorZone bec, int max)
Gaudi::Property< std::string > m_description
bool operator>(const Module &m) const
std::map< int, std::vector< Module * > > m_track2modules
Gaudi::Property< std::string > m_outFileName
Gaudi::Property< int > m_maxEvents
void drawSlices(std::vector< FPGATrackSimHit > const &allHits)
const std::vector< std::vector< std::vector< std::string > > > m_planes_sp
StatusCode initialize() override
bool isOnKeyLayer(int keynum, SiliconTech det, DetectorZone bec, int lyr)
Gaudi::Property< float > m_globalTrim
std::vector< FPGATrackSimHit > m_sbHits
std::map< std::string, SiliconTech > m_det2tech
int findPlane(const std::vector< std::vector< std::string >> &planes, const std::string &test)
StatusCode readInputs(bool &done)
FPGATrackSimEventInputHeader m_eventHeader
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool
std::vector< FPGATrackSimHit > m_pbHits
std::tuple< SiliconTech, DetectorZone, int, int, int > FPGATrackSimModuleId
bool operator<(const Module &m) const
std::vector< FPGATrackSimHit > m_peHits
FPGATrackSimModuleId moduleId() const
StatusCode writePmapAndRmap(std::vector< FPGATrackSimHit > const &pbHits, std::vector< FPGATrackSimHit > const &peHits, std::vector< FPGATrackSimHit > const &sbHits, std::vector< FPGATrackSimHit > const &seHits, int region)
virtual ~FPGATrackSimMapMakerAlg()=default
std::map< int, int > m_track2slice
std::map< std::string, std::set< int > > m_keylayer2
const std::vector< uint32_t > m_diskIndex
StatusCode writeRadiiFile(std::vector< FPGATrackSimHit > const &allHits)
std::map< int, int > m_key_etamods
std::set< int > m_usedTracks
const std::vector< std::vector< std::vector< std::string > > > m_planes2
Gaudi::Property< std::string > m_keystring2
std::string makeRmapLines(std::vector< FPGATrackSimHit > const &hits, SiliconTech det, DetectorZone bec, int max)
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< std::vector< std::vector< float > > > m_radii
Gaudi::Property< bool > m_drawSlices
Module(SiliconTech det, DetectorZone bec, int lyr, int eta, int phi)
std::map< std::string, std::set< int > > m_keylayer
StatusCode writeEtaPatterns()
Gaudi::Property< int > m_nSlices
Gaudi::Property< bool > m_remapModules
std::map< std::string, DetectorZone > m_bec2zone
Gaudi::Property< std::string > m_keystring
std::set< int > m_key_etamods2
StatusCode writeMedianZFile(std::vector< FPGATrackSimHit > const &allHits)
std::vector< std::vector< std::vector< float > > > m_z
Gaudi::Property< float > m_trim
Gaudi::Property< bool > m_doSpacePoints
FPGATrackSimMapMakerAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode finalize() override
Gaudi::Property< std::string > m_geoTag
std::vector< FPGATrackSimHit > m_seHits
std::map< FPGATrackSimModuleId, Module > m_modules
FPGATrackSimModuleRelabel * m_moduleRelabel
std::vector< int > m_semax
std::vector< int > m_pemax
StatusCode writeSubrmap(std::vector< FPGATrackSimHit > const &allHits)
Gaudi::Property< int > m_region
std::vector< int > numTracks
bool operator==(const Module &m) const
std::vector< FPGATrackSimHit > m_allHits
std::map< int, std::vector< Module * > > m_slice2modules
const std::vector< std::vector< std::vector< std::string > > > * m_planes
StatusCode execute() override