ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingGeometryValidation.py
Go to the documentation of this file.
1from array import array
2import math
3from LayerMaterialUtils import *
4from TrackingVolumeUtils import *
5from ROOT import *
6
7# the ATLAS style
8atlasStyle = TStyle('ATLAS','Atlas style')
9# use plain black on white colors
10icol=0
11atlasStyle.SetFrameBorderMode(icol)
12atlasStyle.SetCanvasBorderMode(icol)
13atlasStyle.SetPadBorderMode(icol)
14atlasStyle.SetPadColor(icol)
15atlasStyle.SetCanvasColor(icol)
16atlasStyle.SetStatColor(icol)
17# do not display any of the standard histogram decorations
18atlasStyle.SetOptTitle(0)
19atlasStyle.SetOptStat(0)
20atlasStyle.SetOptFit(0)
21# put tick marks on top and RHS of plots
22atlasStyle.SetPadTickX(1)
23atlasStyle.SetPadTickY(1)
24atlasStyle.SetPadRightMargin(0.2)
25atlasStyle.SetPalette(1)
26# default palette, looks cool
27ncontours = 999
28ncontours = 999
29stops = [0.00, 0.34, 0.61, 0.84, 1.00]
30red = [0.00, 0.00, 0.87, 1.00, 0.51]
31green = [0.00, 0.81, 1.00, 0.20, 0.00]
32blue = [0.51, 1.00, 0.12, 0.00, 0.00]
33s = array('d', stops)
34r = array('d', red)
35g = array('d', green)
36b = array('d', blue)
37npoints = len(s)
38TColor.CreateGradientColorTable(npoints, s, r, g, b, ncontours)
39atlasStyle.SetNumberContours(ncontours)
40gROOT.SetStyle('ATLAS')
41
42
43DetDescrVersion = 'ATLAS-GEO-16-00-00'
44
45# tracking geometry files
46tgMapFile = TFile('AtlasMaterialMap-'+DetDescrVersion+'.root')
47lmiDirectory = tgMapFile.Get('LayerMaterialInspector')
48lmiListOfKeys = lmiDirectory.GetListOfKeys()
49
50for key in lmiListOfKeys :
51 curLayerMap = lmiDirectory.Get(key.GetName())
52 print ('Processing: ', curLayerMap.GetName())
53 if curLayerMap.GetName().find('CylinderLayer') > -1 :
54 layershname = curLayerMap.GetName().split('Cylinder')[1]
55 g4Tree = TChain(layershname)
56 g4Tree.Add('AtlasMaterialG4-*.root')
57 tgTree = TChain(layershname)
58 tgTree.Add('AtlasMaterialTG-*.root')
59 drawCylinderLayer(g4Tree,curLayerMap,tgTree,'img/')
60 if curLayerMap.GetName().find('DiscLayer') > -1 :
61 layershname = curLayerMap.GetName().split('Disc')[1]
62 g4Tree = TChain(layershname)
63 g4Tree.Add('AtlasMaterialG4-*.root')
64 tgTree = TChain(layershname)
65 tgTree.Add('AtlasMaterialTG-*.root')
66 drawDiscLayer(g4Tree,curLayerMap,tgTree,'img/')
67
68
69tvFile = TFile('AtlasMaterialG4-'+DetDescrVersion+'.root')
70tvListOfKeys = tvFile.GetListOfKeys()
71for key in tvListOfKeys :
72 if key.GetName().find('TVolume') > -1 :
73 g4Tree = TChain(key.GetName())
74 g4Tree.Add('AtlasMaterialG4-*.root')
75 tgTree = TChain(key.GetName())
76 tgTree.Add('AtlasMaterialTG-*.root')
77 drawTrackingVolume(g4Tree,tgTree,'img/')
78
STL class.
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177
drawDiscLayer(g4DiscTree, discLayer, tgDiscTree, saveLocation)
drawCylinderLayer(g4CylTree, cylLayer, tgCylTree, saveLocation)
drawTrackingVolume(g4Tree, tgTree, saveLocation)