Loading [MathJax]/extensions/tex2jax.js
 |
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"
46 ToolHandle<IFPGATrackSimEventInputHeaderTool>
m_hitInputTool {
this,
"InputTool",
"FPGATrackSimSGToRawHitsTool/FPGATrackSimInputTool",
"HitInput Tool" };
79 Gaudi::Property<int>
m_maxEvents {
this,
"maxEvents", 10000,
"Max Events"};
80 Gaudi::Property<int>
m_region {
this,
"region", 0,
"Region"};
81 Gaudi::Property<float>
m_trim {
this,
"trim", 0.1,
"trim modules with less than given percent of tracks"};
82 Gaudi::Property<std::string>
m_outFileName {
this,
"OutFileName",
"",
"naming convention for maps"};
83 Gaudi::Property<std::string>
m_keystring {
this,
"KeyString",
"strip,barrel,2",
"key layer to use for subrmap"};
84 Gaudi::Property<std::string>
m_keystring2 {
this,
"KeyString2",
"",
"second key layer for 2D slicing"};
85 Gaudi::Property<int>
m_nSlices {
this,
"nSlices", -1,
"default is full granularity/maximum number of slices possible"};
86 Gaudi::Property<float>
m_globalTrim {
this,
"globalTrim", 0.1,
"Trimming applied globally to the key layer before determining slice boundaries"};
87 Gaudi::Property<std::string>
m_description {
this,
"description",
"",
"tag description"};
88 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?"};
89 Gaudi::Property<bool>
m_remapModules {
this,
"remapModules",
false,
"Allow maps to be drawn that slice modules more finely, by remapping module indices"};
90 Gaudi::Property<bool>
m_drawSlices {
this,
"drawSlices",
false,
"Draw the huge 2D slice histograms"};
115 const std::vector<std::vector<std::string>>*
m_planes{};
116 const std::vector<std::vector<std::string>>*
m_planes2{};
122 {
"pb0",
"pe0+",
"pe1+",
"pe2+",
"pe3+",
"pe4+",
"pe5+",
"pe6+",
"pe7+",
"pe8+",
"pe9+",
"pe10+",
"pe11+",
"pe12+",
"pe13+",
"pe14+",
"pe15+",
"pe16+", },
123 {
"pb1",
"pe19+",
"pe23+",
"pe25+", },
124 {
"pb2",
"pe31+",
"pe32+",
"pe33+",
"pe34+",
"pe35+",
"pe36+",
"pe37+",
"pe38+",
"pe39+",
"pe40+",
125 "pe41+",
"pe42+",
"pe43+",
"pe44+",
"pe45+",
"pe46+",
126 "pe47+",
"pe48+",
"pe49+",
"pe50+",
"pe51+",
"pe52+",
"pe53+",
"pe54+",
"pe55+",
"pe56+", },
127 {
"pb3",
"pe57+",
"pe58+",
"pe59+",
"pe60+",
"pe61+",
"pe62+",
"pe63+",
"pe64+",
"pe65+",
"pe66+",
"pe67+",
"pe68+",
"pe69+"},
128 {
"pb4",
"pe70+",
"pe71+",
"pe72+",
"pe73+",
"pe74+",
"pe75+",
"pe76+",
"pe77+",
"pe78+",
"pe79+",
129 "pe80+",
"pe81+",
"pe82+",
"pe83+",
"pe84+",
"pe85+",
"pe86+",
"pe87+",
"pe88+",
"pe89+",}
134 {
"pb0",
"pe0+",
"pe1+",
"pe2+",
"pe3+",
"pe4+",
"pe5+",
"pe6+",
"pe7+",
"pe8+",
"pe9+",
"pe10+",
"pe11+",
"pe12+",
"pe13+",
"pe14+",
"pe15+",
"pe16+", },
135 {
"pb1",
"pe19+",
"pe23+",
"pe25+", },
136 {
"pb2",
"pe31+",
"pe32+",
"pe33+",
"pe34+",
"pe35+",
"pe36+",
"pe37+",
"pe38+",
"pe39+",
"pe40+",
137 "pe41+",
"pe42+",
"pe43+",
"pe44+",
"pe45+",
"pe46+",
138 "pe47+",
"pe48+",
"pe49+",
"pe50+",
"pe51+",
"pe52+",
"pe53+",
"pe54+",
"pe55+",
"pe56+", },
139 {
"pb3",
"pe57+",
"pe58+",
"pe59+",
"pe60+",
"pe61+",
"pe62+",
"pe63+",
"pe64+",
"pe65+",
"pe66+",
"pe67+",
"pe68+",
"pe69+"},
140 {
"pb4",
"pe70+",
"pe71+",
"pe72+",
"pe73+",
"pe74+",
"pe75+",
"pe76+",
"pe77+",
"pe78+",
"pe79+",
141 "pe80+",
"pe81+",
"pe82+",
"pe83+",
"pe84+",
"pe85+",
"pe86+",
"pe87+",
"pe88+",
"pe89+",},
142 {
"sb0",
"se4+",
"se0+"},
143 {
"sb1",
"se5+",
"se1+"},
144 {
"sb2",
"se6+",
"se2+"},
145 {
"sb3",
"se7+",
"se3+"},
163 std::vector <std::vector < std::vector<float> > >
m_radii;
164 std::vector <std::vector < std::vector<float> > >
m_z;
174 StatusCode writePmapAndRmap(std::vector<FPGATrackSimHit>
const & pbHits, std::vector<FPGATrackSimHit>
const & peHits, std::vector<FPGATrackSimHit>
const & sbHits, std::vector<FPGATrackSimHit>
const & seHits,
int region);
181 void drawSlices(std::vector<FPGATrackSimHit>
const & allHits);
185 int findPlane(
const std::vector<std::vector<std::string>>* planes,
const std::string&
test);
192 #endif // FPGATRACKSIMMAPMAKERALG_H
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
std::unique_ptr< TFile > m_monitorFile
void drawSlices(std::vector< FPGATrackSimHit > const &allHits)
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_evtSel
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
StatusCode readInputs(bool &done)
FPGATrackSimEventInputHeader m_eventHeader
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool
std::vector< FPGATrackSimHit > m_pbHits
std::tuple< SiliconTech, DetectorZone, int, int, int > FPGATrackSimModuleId
const std::vector< std::vector< std::string > > * m_planes2
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
int findPlane(const std::vector< std::vector< std::string >> *planes, const std::string &test)
std::set< int > m_usedTracks
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::vector< std::vector< std::string > > > m_overridePlanes
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
FPGATrackSimMapMakerAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode finalize() override
Gaudi::Property< std::string > m_geoTag
const std::vector< std::vector< std::string > > m_planes_generic
const std::vector< std::vector< std::string > > * m_planes
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
const std::vector< std::vector< std::string > > m_planes2_generic
bool operator==(const Module &m) const
Gaudi::Property< std::vector< std::vector< std::string > > > m_overridePlanes2
std::vector< FPGATrackSimHit > m_allHits
std::map< int, std::vector< Module * > > m_slice2modules
StatusCode execute() override