SND@LHC Software
Loading...
Searching...
No Matches
run_Calibration-rawTimestamp.py
Go to the documentation of this file.
1#!/usr/bin/env python
2import ROOT,os,sys,subprocess,atexit,time
3import Monitor
4import vetoTimeCalibration
5
6from argparse import ArgumentParser
7parser = ArgumentParser()
8parser.add_argument("-f", "--inputFile", dest="fname", help="file name", type=str,default=None,required=False)
9parser.add_argument("--server", dest="server", help="xrootd server",default=os.environ["EOSSHIP"])
10parser.add_argument("-r", "--runNumber", dest="runNumber", help="run number", type=int)
11parser.add_argument("-p", "--path", dest="path", help="run number",required=False,default="")
12parser.add_argument("-P", "--partition", dest="partition", help="partition of data", type=int,required=False,default=-1)
13parser.add_argument("-g", "--geoFile", dest="geoFile", help="geofile", required=True)
14parser.add_argument("-b", "--heartBeat", dest="heartBeat", help="heart beat", default=10000,type=int)
15parser.add_argument("-c", "--command", dest="command", help="Time calibration / Time walk", default="TC")
16parser.add_argument("-n", "--nEvents", dest="nEvents", help="number of events", default=-1,type=int)
17parser.add_argument("-s", "--nStart", dest="nStart", help="first event", default=0,type=int)
18parser.add_argument("-t", "--trackType", dest="trackType", help="DS or Scifi", default="DS")
19
20options = parser.parse_args()
21options.online = False
22options.xCheck = False
23
24
26 M.h['exBar'] = M.h['exBar_04'].Clone('exBar')
27 M.h['exBar'].Reset()
28 for l in range(2):
29 for bar in range(7):
30 M.h['exBar'].Add(M.h['exBar_'+str(l)+str(bar)])
31
33 s = 1
34 nbars = M.systemAndBars[s]
35 for tag in ['','X']:
36 for side in ['L','R']:
37 M.h['dtBar_Veto'+side+tag] = M.h['dtBar_Veto4_4LX'].Clone('dtBar_Veto'+side+tag)
38 M.h['dtBar_Veto'+side+tag].Reset()
39 for bar in range(nbars):
40 for bar1 in [bar-1,bar,bar+1]:
41 if bar1<0 or bar1>nbars-1: continue
42 key = M.sdict[s]+str(bar)+'_'+str(bar1)+side+tag
43 M.h['dtBar_Veto'+side+tag].Add(M.h['dtBar_'+key])
44
45FairTasks = {}
46M = Monitor.Monitoring(options,FairTasks)
47if options.nEvents < 0 :
48 options.nEvents = M.eventTree.GetEntries()
49
50Tasks = {}
51
52if options.command=="TC":
53 Tasks['vetoTimechannelcalibration'] = vetoTimeCalibration.vetoTDCchannelCalibration()
54 Tasks['vetoTimeplanecalibration'] = vetoTimeCalibration.vetoTDCplaneCalibration()
55 Tasks['vetoTimechannelcalibrationX'] = vetoTimeCalibration.vetoTDCchannelCalibration()
56 Tasks['vetoTimeplanecalibrationX'] = vetoTimeCalibration.vetoTDCplaneCalibration()
57
58 for t in ['vetoTimechannelcalibration']:
59 print('start',t)
60 options.xCheck = False
61 Tasks[t].Init(options,M)
62 for n in range(options.nStart,options.nStart+options.nEvents):
63 event = M.GetEvent(n)
64 Tasks[t].ExecuteEvent(event)
65 event.Reco_MuonTracks.Delete()
66 Tasks[t].Finalize()
67 print('end',t)
68
69 for t in ['vetoTimechannelcalibrationX']:
70 print('start',t)
71 options.xCheck = True
72 Tasks[t].Init(options,M)
73 for n in range(options.nStart,options.nStart+options.nEvents):
74 event = M.GetEvent(n)
75 Tasks[t].ExecuteEvent(event)
76 event.Reco_MuonTracks.Delete()
77 Tasks[t].Finalize()
78 print('end',t)
79 for t in ['vetoTimeplanecalibration']:
80 print('start',t)
81 options.xCheck = False
82 Tasks[t].Init(options,M)
83 for n in range(options.nStart,options.nStart+options.nEvents):
84 event = M.GetEvent(n)
85 Tasks[t].ExecuteEvent(event)
86 event.Reco_MuonTracks.Delete()
87
88 Tasks[t].Finalize()
89 print('end',t)
90 print('start minimization')
91 Tasks[t].minimize()
92 print('end minimization')
93
94 for t in ['vetoTimeplanecalibrationX']:
95 print('start',t)
96 options.xCheck = True
97 Tasks[t].Init(options,M)
98 for n in range(options.nStart,options.nStart+options.nEvents):
99 event = M.GetEvent(n)
100 Tasks[t].ExecuteEvent(event)
101 event.Reco_MuonTracks.Delete()
102 Tasks[t].Finalize()
103 print('end',t)
104
107
108if options.command=="TW":
109 Tasks['vetoTimeWalk'] = vetoTimeCalibration.vetoTimeWalk()
110 for t in Tasks:
111 Tasks[t].Init(options,M)
112 for n in range(options.nStart,options.nStart+options.nEvents):
113 event = M.GetEvent(n)
114 Tasks[t].ExecuteEvent(event)
115 event.Reco_MuonTracks.Delete()
116 Tasks[t].Finalize()
117