ATLAS Offline Software
TrackingGeometryValidation.py
Go to the documentation of this file.
1 from array import array
2 import math
3 from LayerMaterialUtils import *
4 from TrackingVolumeUtils import *
5 from ROOT import *
6 
7 # the ATLAS style
8 atlasStyle = TStyle('ATLAS','Atlas style')
9 # use plain black on white colors
10 icol=0
11 atlasStyle.SetFrameBorderMode(icol)
12 atlasStyle.SetCanvasBorderMode(icol)
13 atlasStyle.SetPadBorderMode(icol)
14 atlasStyle.SetPadColor(icol)
15 atlasStyle.SetCanvasColor(icol)
16 atlasStyle.SetStatColor(icol)
17 # do not display any of the standard histogram decorations
18 atlasStyle.SetOptTitle(0)
19 atlasStyle.SetOptStat(0)
20 atlasStyle.SetOptFit(0)
21 # put tick marks on top and RHS of plots
22 atlasStyle.SetPadTickX(1)
23 atlasStyle.SetPadTickY(1)
24 atlasStyle.SetPadRightMargin(0.2)
25 atlasStyle.SetPalette(1)
26 # default palette, looks cool
27 ncontours = 999
28 ncontours = 999
29 stops = [0.00, 0.34, 0.61, 0.84, 1.00]
30 red = [0.00, 0.00, 0.87, 1.00, 0.51]
31 green = [0.00, 0.81, 1.00, 0.20, 0.00]
32 blue = [0.51, 1.00, 0.12, 0.00, 0.00]
33 s = array('d', stops)
34 r = array('d', red)
35 g = array('d', green)
36 b = array('d', blue)
37 npoints = len(s)
38 TColor.CreateGradientColorTable(npoints, s, r, g, b, ncontours)
39 atlasStyle.SetNumberContours(ncontours)
40 gROOT.SetStyle('ATLAS')
41 
42 
43 DetDescrVersion = 'ATLAS-GEO-16-00-00'
44 
45 # tracking geometry files
46 tgMapFile = TFile('AtlasMaterialMap-'+DetDescrVersion+'.root')
47 lmiDirectory = tgMapFile.Get('LayerMaterialInspector')
48 lmiListOfKeys = lmiDirectory.GetListOfKeys()
49 
50 for 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 
69 tvFile = TFile('AtlasMaterialG4-'+DetDescrVersion+'.root')
70 tvListOfKeys = tvFile.GetListOfKeys()
71 for 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 
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
LayerMaterialUtils.drawCylinderLayer
def drawCylinderLayer(g4CylTree, cylLayer, tgCylTree, saveLocation)
Definition: LayerMaterialUtils.py:6
array
TrackingVolumeUtils.drawTrackingVolume
def drawTrackingVolume(g4Tree, tgTree, saveLocation)
Definition: TrackingVolumeUtils.py:5
LayerMaterialUtils.drawDiscLayer
def drawDiscLayer(g4DiscTree, discLayer, tgDiscTree, saveLocation)
Definition: LayerMaterialUtils.py:178
Trk::split
@ split
Definition: LayerMaterialProperties.h:38