FairShip
Loading...
Searching...
No Matches
make_nTuple_Tr Namespace Reference

Functions

None printMCTrack (int n, MCTrack)
 
None dump (event, float pcut=0, bool print_whole_event=True)
 

Variables

pdg = r.TDatabasePDG.Instance()
 
 level
 
argparse parser = argparse.ArgumentParser(description=__doc__)
 
 dest
 
 help
 
 action
 
 default
 
argparse args = parser.parse_args()
 
 outputfile
 
str selectedmuons = "SelectedMuonsTr_test.txt"
 
 else :
 
argparse path = args.path
 
open fsel = open(selectedmuons, "w")
 
csv csvwriter = csv.writer(fsel)
 
output_file = r.TFile.Open(args.outputfile, "recreate")
 
output_tree = r.TTree("MuonAndSoftInteractions", "Muon information and soft interaction tracks")
 
imuondata = r.TVectorD(10)
 
track_array = r.TObjArray()
 
muon_vetoPoints = r.TClonesArray("vetoPoint")
 
muon_UpstreamTaggerPoints = r.TClonesArray("UpstreamTaggerPoint")
 
dict h = {}
 
dict events_ = {"Tr": {}, "Tr_SBT": {}, "Tr_noSBT": {}}
 
int global_event_nr = 0
 
dict processed_events = {}
 
int P_threshold = 3
 
list headers
 
None f = None
 
 try :
 
None tree = f.cbmsim
 
dict nmu = {"mu+": 0, "mu-": 0}
 
list muon_table = []
 
list muon_ids = []
 
hit trackingstation_id = hit.GetStationNumber()
 
hit pid = hit.PdgCode()
 
P = r.TMath.Sqrt(hit.GetPx() ** 2 + hit.GetPy() ** 2 + hit.GetPz() ** 2)
 
hit track_id = hit.GetTrackID()
 
particle_name = pdg.GetParticle(hit.PdgCode()).GetName()
 
hit detID = hit.GetDetectorID()
 
int ubt_index = 0
 
Pt = r.TMath.Sqrt(hit.GetPx() ** 2 + hit.GetPy() ** 2)
 
event weight = event.MCTrack[track_id].GetWeight()
 
sum total_muons = sum(len(muons) for muons in events_[type_].values())
 
list event_data = []
 
px = imuondata[1]
 
py = imuondata[2]
 
pz = imuondata[3]
 
x = imuondata[4]
 
y = imuondata[5]
 
z = imuondata[6]
 
time_hit = imuondata[8]
 
nmuons = imuondata[9]
 
len num_tracks = len(event.tracks)
 
len num_muonhits = len(event.muon_vetoPoints)
 
len num_ubthits = len(event.muon_UpstreamTaggerPoints)
 

Detailed Description

Script to collect muons hitting the 1st Tracking Station (including soft interaction products) to a ROOT file.

Function Documentation

◆ dump()

None make_nTuple_Tr.dump (   event,
float   pcut = 0,
bool   print_whole_event = True 
)
Dump the whole event.

Definition at line 140 of file make_nTuple_Tr.py.

140def dump(event, pcut: float = 0, print_whole_event: bool = True) -> None:
141 """Dump the whole event."""
142 if print_whole_event:
143 print(
144 "\n %6s %-10s %10s %6s %6s %7s %7s %7s %7s %6s %10s %18s"
145 % (
146 "#",
147 "particle",
148 "pid",
149 "px",
150 "py",
151 "pz",
152 "vx",
153 "vy",
154 "vz",
155 "mid",
156 "w",
157 "Process",
158 )
159 )
160 print(
161 " %6s %10s %10s %6s %6s %7s %7s %7s %7s %6s %10s %18s\n "
162 % (
163 " ",
164 "--------",
165 "---",
166 "--",
167 "--",
168 "--",
169 "--",
170 "--",
171 "--",
172 "---",
173 "---",
174 "-------",
175 )
176 )
177 n = -1
178 for mcp in event.MCTrack:
179 n += 1
180 if mcp.GetP() / u.GeV < pcut:
181 continue
182 if print_whole_event:
183 printMCTrack(n, event.MCTrack)
184
185 return
186
187

◆ printMCTrack()

None make_nTuple_Tr.printMCTrack ( int  n,
  MCTrack 
)
Print MCTrack truth.

Definition at line 90 of file make_nTuple_Tr.py.

90def printMCTrack(n: int, MCTrack) -> None:
91 """Print MCTrack truth."""
92 mcp = MCTrack[n]
93
94 RED = "\033[91m" # ANSI code Red
95 RESET = "\033[0m" # ANSI code Reset to default
96
97 try:
98 particle_name = pdg.GetParticle(mcp.GetPdgCode()).GetName()
99
100 if particle_name == "mu+" or particle_name == "mu-":
101 particle_name = f"{RED}{particle_name}{RESET} " # Highlight muons in red
102
103 print(
104 " %6s %-10s %10i %6.3F %6.3F %7.3F %7.3F %7.3F %7.3F %6s %10.3F %28s"
105 % (
106 n,
107 particle_name,
108 mcp.GetPdgCode(),
109 mcp.GetPx() / u.GeV,
110 mcp.GetPy() / u.GeV,
111 mcp.GetPz() / u.GeV,
112 mcp.GetStartX() / u.m,
113 mcp.GetStartY() / u.m,
114 mcp.GetStartZ() / u.m,
115 mcp.GetMotherId(),
116 mcp.GetWeight(),
117 mcp.GetProcName().Data(),
118 )
119 )
120 except Exception:
121 print(
122 " %6s %-10s %10i %6.3F %6.3F %7.3F %7.3F %7.3F %7.3F %6s %10.3F %28s"
123 % (
124 n,
125 "----",
126 mcp.GetPdgCode(),
127 mcp.GetPx() / u.GeV,
128 mcp.GetPy() / u.GeV,
129 mcp.GetPz() / u.GeV,
130 mcp.GetStartX() / u.m,
131 mcp.GetStartY() / u.m,
132 mcp.GetStartZ() / u.m,
133 mcp.GetMotherId(),
134 mcp.GetWeight(),
135 mcp.GetProcName().Data(),
136 )
137 )
138
139

Variable Documentation

◆ action

make_nTuple_Tr.action

Definition at line 23 of file make_nTuple_Tr.py.

◆ args

argparse make_nTuple_Tr.args = parser.parse_args()

Definition at line 36 of file make_nTuple_Tr.py.

◆ csvwriter

csv make_nTuple_Tr.csvwriter = csv.writer(fsel)

Definition at line 49 of file make_nTuple_Tr.py.

◆ default

make_nTuple_Tr.default

Definition at line 27 of file make_nTuple_Tr.py.

◆ dest

make_nTuple_Tr.dest

Definition at line 23 of file make_nTuple_Tr.py.

◆ detID

hit make_nTuple_Tr.detID = hit.GetDetectorID()

Definition at line 266 of file make_nTuple_Tr.py.

◆ else

make_nTuple_Tr.else :

Definition at line 42 of file make_nTuple_Tr.py.

◆ event_data

list make_nTuple_Tr.event_data = []

Definition at line 381 of file make_nTuple_Tr.py.

◆ events_

dict make_nTuple_Tr.events_ = {"Tr": {}, "Tr_SBT": {}, "Tr_noSBT": {}}

Definition at line 188 of file make_nTuple_Tr.py.

◆ f

r make_nTuple_Tr.f = None

Definition at line 217 of file make_nTuple_Tr.py.

◆ fsel

open make_nTuple_Tr.fsel = open(selectedmuons, "w")

Definition at line 48 of file make_nTuple_Tr.py.

◆ global_event_nr

int make_nTuple_Tr.global_event_nr = 0

Definition at line 189 of file make_nTuple_Tr.py.

◆ h

dict make_nTuple_Tr.h = {}

Definition at line 66 of file make_nTuple_Tr.py.

◆ headers

list make_nTuple_Tr.headers
Initial value:
1= [
2 f"nMuons in event>{P_threshold}GeV",
3 "Muon PID",
4 "Momentum[GeV/c]",
5 "x[m]",
6 "y[m]",
7 "z[m]",
8 "t_muon [ns]",
9 "nSoft Tracks",
10 "nSBT Hits(muon)",
11 "nUBT Hits(muon)",
12 "Weight_muon",
13]

Definition at line 194 of file make_nTuple_Tr.py.

◆ help

make_nTuple_Tr.help

Definition at line 23 of file make_nTuple_Tr.py.

◆ imuondata

event make_nTuple_Tr.imuondata = r.TVectorD(10)

Definition at line 54 of file make_nTuple_Tr.py.

◆ level

make_nTuple_Tr.level

Definition at line 19 of file make_nTuple_Tr.py.

◆ muon_ids

list make_nTuple_Tr.muon_ids = []

Definition at line 237 of file make_nTuple_Tr.py.

◆ muon_table

list make_nTuple_Tr.muon_table = []

Definition at line 234 of file make_nTuple_Tr.py.

◆ muon_UpstreamTaggerPoints

r make_nTuple_Tr.muon_UpstreamTaggerPoints = r.TClonesArray("UpstreamTaggerPoint")

Definition at line 63 of file make_nTuple_Tr.py.

◆ muon_vetoPoints

r make_nTuple_Tr.muon_vetoPoints = r.TClonesArray("vetoPoint")

Definition at line 60 of file make_nTuple_Tr.py.

◆ nmu

dict make_nTuple_Tr.nmu = {"mu+": 0, "mu-": 0}

Definition at line 232 of file make_nTuple_Tr.py.

◆ nmuons

r make_nTuple_Tr.nmuons = imuondata[9]

Definition at line 404 of file make_nTuple_Tr.py.

◆ num_muonhits

len make_nTuple_Tr.num_muonhits = len(event.muon_vetoPoints)

Definition at line 407 of file make_nTuple_Tr.py.

◆ num_tracks

len make_nTuple_Tr.num_tracks = len(event.tracks)

Definition at line 406 of file make_nTuple_Tr.py.

◆ num_ubthits

len make_nTuple_Tr.num_ubthits = len(event.muon_UpstreamTaggerPoints)

Definition at line 408 of file make_nTuple_Tr.py.

◆ output_file

r make_nTuple_Tr.output_file = r.TFile.Open(args.outputfile, "recreate")

Definition at line 51 of file make_nTuple_Tr.py.

◆ output_tree

r make_nTuple_Tr.output_tree = r.TTree("MuonAndSoftInteractions", "Muon information and soft interaction tracks")

Definition at line 52 of file make_nTuple_Tr.py.

◆ outputfile

make_nTuple_Tr.outputfile

Definition at line 40 of file make_nTuple_Tr.py.

◆ P

r make_nTuple_Tr.P = r.TMath.Sqrt(hit.GetPx() ** 2 + hit.GetPy() ** 2 + hit.GetPz() ** 2)

Definition at line 243 of file make_nTuple_Tr.py.

◆ P_threshold

int make_nTuple_Tr.P_threshold = 3

Definition at line 192 of file make_nTuple_Tr.py.

◆ parser

argparse make_nTuple_Tr.parser = argparse.ArgumentParser(description=__doc__)

Definition at line 22 of file make_nTuple_Tr.py.

◆ particle_name

r make_nTuple_Tr.particle_name = pdg.GetParticle(hit.PdgCode()).GetName()

Definition at line 246 of file make_nTuple_Tr.py.

◆ path

argparse make_nTuple_Tr.path = args.path

Definition at line 45 of file make_nTuple_Tr.py.

◆ pdg

r make_nTuple_Tr.pdg = r.TDatabasePDG.Instance()

Definition at line 16 of file make_nTuple_Tr.py.

◆ pid

r make_nTuple_Tr.pid = hit.PdgCode()

Definition at line 242 of file make_nTuple_Tr.py.

◆ processed_events

dict make_nTuple_Tr.processed_events = {}

Definition at line 190 of file make_nTuple_Tr.py.

◆ Pt

r make_nTuple_Tr.Pt = r.TMath.Sqrt(hit.GetPx() ** 2 + hit.GetPy() ** 2)

Definition at line 304 of file make_nTuple_Tr.py.

◆ px

r make_nTuple_Tr.px = imuondata[1]

Definition at line 395 of file make_nTuple_Tr.py.

◆ py

r make_nTuple_Tr.py = imuondata[2]

Definition at line 396 of file make_nTuple_Tr.py.

◆ pz

r make_nTuple_Tr.pz = imuondata[3]

Definition at line 397 of file make_nTuple_Tr.py.

◆ selectedmuons

str make_nTuple_Tr.selectedmuons = "SelectedMuonsTr_test.txt"

Definition at line 41 of file make_nTuple_Tr.py.

◆ time_hit

r make_nTuple_Tr.time_hit = imuondata[8]

Definition at line 403 of file make_nTuple_Tr.py.

◆ total_muons

sum make_nTuple_Tr.total_muons = sum(len(muons) for muons in events_[type_].values())

Definition at line 366 of file make_nTuple_Tr.py.

◆ track_array

r make_nTuple_Tr.track_array = r.TObjArray()

Definition at line 57 of file make_nTuple_Tr.py.

◆ track_id

hit make_nTuple_Tr.track_id = hit.GetTrackID()

Definition at line 245 of file make_nTuple_Tr.py.

◆ trackingstation_id

hit make_nTuple_Tr.trackingstation_id = hit.GetStationNumber()

Definition at line 241 of file make_nTuple_Tr.py.

◆ tree

file make_nTuple_Tr.tree = f.cbmsim

Definition at line 223 of file make_nTuple_Tr.py.

◆ try

make_nTuple_Tr.try :

Definition at line 218 of file make_nTuple_Tr.py.

◆ ubt_index

int make_nTuple_Tr.ubt_index = 0

Definition at line 285 of file make_nTuple_Tr.py.

◆ weight

r make_nTuple_Tr.weight = event.MCTrack[track_id].GetWeight()

Definition at line 324 of file make_nTuple_Tr.py.

◆ x

r make_nTuple_Tr.x = imuondata[4]

Definition at line 398 of file make_nTuple_Tr.py.

◆ y

r make_nTuple_Tr.y = imuondata[5]

Definition at line 399 of file make_nTuple_Tr.py.

◆ z

r make_nTuple_Tr.z = imuondata[6]

Definition at line 400 of file make_nTuple_Tr.py.