SND@LHC Software
Loading...
Searching...
No Matches
run_TrackSelections.py
Go to the documentation of this file.
1#!/usr/bin/env python
2import ROOT,os,sys,subprocess,atexit,time
3import Monitor
4import SndlhcMuonReco
5import SndlhcTracking
6
7def pyExit():
8 print("Make suicide until solution found for freezing")
9 os.system('kill '+str(os.getpid()))
10atexit.register(pyExit)
11
12from argparse import ArgumentParser
13parser = ArgumentParser()
14parser.add_argument("-o", "--outFile", dest="oname", help="output file name", type=str,default=None,required=True)
15parser.add_argument("-f", "--inputFile", dest="fname", help="file name for MC", type=str,default=None,required=False)
16parser.add_argument("--server", dest="server", help="xrootd server",default=os.environ["EOSSHIP"])
17parser.add_argument("-r", "--runNumber", dest="runNumber", help="run number", type=int,required=False,default=-1)
18parser.add_argument("-p", "--path", dest="path", help="path to file",required=False,default="")
19parser.add_argument("-P", "--partition", dest="partition", help="partition of data", type=int,required=False,default=-1)
20parser.add_argument("-g", "--geoFile", dest="geoFile", help="geofile", required=True)
21parser.add_argument("-b", "--heartBeat", dest="heartBeat", help="heart beat", default=10000,type=int)
22parser.add_argument("-c", "--command", dest="command", help="command", default="")
23parser.add_argument("-n", "--nEvents", dest="nEvents", help="number of events", default=-1,type=int)
24parser.add_argument("-s", "--nStart", dest="nStart", help="first event", default=0,type=int)
25parser.add_argument("-st", "--simpleTracking", dest="simpleTracking", action='store_true', default=False)
26parser.add_argument("-genfitFormat", "--genfitFormat", dest='genfitFormat', action='store_true', help="output track format for simple tracking when only it is run", default=False)
27parser.add_argument("-t", "--trackType", dest="trackType", help="DS, Scifi, ScifiDS", default="ScifiDS")
28
29parser.add_argument("--ScifiNbinsRes", dest="ScifiNbinsRes", default=100)
30parser.add_argument("--Scifixmin", dest="Scifixmin", default=-2000.)
31parser.add_argument("--ScifialignPar", dest="ScifialignPar", default=False)
32
33parser.add_argument("--goodEvents", dest="goodEvents", action='store_true',default=False)
34parser.add_argument("--withTrack", dest="withTrack", action='store_true',default=False)
35parser.add_argument("--nTracks", dest="nTracks",default=0,type=int)
36parser.add_argument("--save", dest="save", action='store_true',default=False)
37
38parser.add_argument("-ht", "--HoughTracking", dest="HoughTracking", action='store_true', default=False)
39parser.add_argument("-par", "--parFile", dest="parFile", help="parameter file", default=os.environ['SNDSW_ROOT']+"/python/TrackingParams.xml")
40parser.add_argument("-hf", "--HoughSpaceFormat", dest="HspaceFormat", help="Hough space representation. Should match the 'Hough_space_format' name in parFile, use quotes", default='linearSlopeIntercept')
41
42parser.add_argument("-sc", "--scale",dest="scaleFactor", help="Randomly run reconstruction.", required=False, default=1, type=int)
43
44options = parser.parse_args()
45
46# prepare tasks:
47options.FairTasks = {}
48options.genfitTrack = False
49HT_tasks = []
50if options.HoughTracking:
51 if options.trackType == 'Scifi' or options.trackType == 'ScifiDS':
52 muon_reco_task_Sf = SndlhcMuonReco.MuonReco()
53 muon_reco_task_Sf.SetTrackingCase('passing_mu_Sf')
54 muon_reco_task_Sf.SetName("houghTransform_Sf")
55 options.FairTasks["houghTransform_Sf"] = muon_reco_task_Sf
56 HT_tasks.append(muon_reco_task_Sf)
57 if options.trackType == 'DS' or options.trackType == 'ScifiDS':
58 muon_reco_task_DS = SndlhcMuonReco.MuonReco()
59 muon_reco_task_DS.SetTrackingCase('passing_mu_DS')
60 muon_reco_task_DS.SetName("houghTransform_DS")
61 options.FairTasks["houghTransform_DS"] = muon_reco_task_DS
62 HT_tasks.append(muon_reco_task_DS)
63 for ht_task in HT_tasks:
64 ht_task.SetParFile(options.parFile)
65 ht_task.SetHoughSpaceFormat(options.HspaceFormat)
66if options.simpleTracking:
68 trackTask.SetName("simpleTracking")
69 # If HT task is also used, pass the track format from its xml
70 # else consult with the command line genfitFormat option
71 if options.HoughTracking: pass
72 else: options.genfitTrack = options.genfitFormat
73 options.FairTasks["simpleTracking"] = trackTask
75if options.nEvents < 0 :
76 options.nEvents = M.eventTree.GetEntries()
77
78M.Execute()
79M.Finalize()