forked from pyEudetAnalysis/pyEudetAnalysis
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRunFullChain.py
More file actions
144 lines (104 loc) · 5.78 KB
/
RunFullChain.py
File metadata and controls
144 lines (104 loc) · 5.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import time,os
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-b", "--begin",
help="First Run", dest="BEGIN", type="int")
parser.add_option("-f", "--end",
help="Last Run", dest="END", type="int")
parser.add_option("-n", "--nevent",
help="Number of events to process", dest="NEVENT")
parser.add_option("-m", "--method",
help="Position Reconstruction Method, QWeighted, DigitalCentroid, maxTOT, EtaCorrection", dest="METHOD", default="QWeighted")
parser.add_option("-d", "--data",
help="pyEudetNtuple Input Folder", dest="INPUT")
parser.add_option("-o", "--output",
help="Histograms and results output folder", dest="OUTPUT", default=".")
parser.add_option("-a", "--alignment",
help="alignement file", dest="ALIGNMENT", default="alignement.dat")
parser.add_option("-e", "--edge",
help="edge width", dest="EDGE", default=0.0, type="float")
parser.add_option("-t", "--target",
help="target : alignmnent, reconstruction, reconstruction+analysis, analysis, all", dest="TARGET")
(options, args) = parser.parse_args()
if(options.EDGE) :
edge_width = float(options.EDGE)
else :
edge_width = 0.0
if(options.METHOD) :
if(options.METHOD=="QWeighted"):
method_name=options.METHOD
elif(options.METHOD=="maxTOT"):
method_name=options.METHOD
elif(options.METHOD=="DigitalCentroid"):
method_name=options.METHOD
elif(options.METHOD=="EtaCorrection"):
method_name=options.METHOD
elif(options.METHOD=="all"):
method_name=options.METHOD
else :
print "Please provide a valid cluster position reconstruction method ( -m [method] QWeighted,maxTOT,DigitalControid,EtaCorrection)"
parser.print_help()
exit()
else:
print "Please provide a valid cluster position reconstruction method ( -m [method] QWeighted,maxTOT,DigitalControid,EtaCorrection)"
parser.print_help()
exit()
if(options.INPUT):
input_folder=options.INPUT
else :
print "Please provide an input folder with pyEudetNtuple files (-d [PathToData] , put no / at the end )"
parser.print_help()
exit()
if(options.OUTPUT):
PlotPath=options.OUTPUT
else :
print "Please provide an output folder (-o [PathToOutput] , put no / at the end )"
parser.print_help()
exit()
if(options.ALIGNMENT):
AlignementPath = "%s"%(options.ALIGNMENT)
else :
print "Please provide an Alignment File (-a [PathToFile] 0 0 0 0 0 if no alignement needed )"
parser.print_help()
exit()
if (options.BEGIN) :
begin=int(options.BEGIN)
else :
print "provide a first run!"
exit()
if (options.END) :
end=int(options.END)
else :
print "provide a last run!"
exit()
if (options.TARGET) :
target=options.TARGET
else :
print "provide a target!"
exit()
for run in range(begin,end+1) :
AlignementFile="%s/Alignment_run%i.txt"%(AlignementPath,run)
if (target=="alignment" or target == "all") :
os.system("python ComputeAlignment.py -r %i -d %s -o %s -a %s -e %f -m %s -n 5000"%(run,input_folder,PlotPath,AlignementFile,edge_width,"QWeighted"))
if ("reconstruction" in target or target == "all" ) :
if method_name=="all" :
os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"QWeighted"))
#os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"QWeighted"))
os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"EtaCorrection"))
#os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,"EtaCorrection"))
os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"DigitalCentroid"))
#os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,"DigitalCentroid"))
else :
os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,method_name))
#os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,method_name))
if ("analysis" in target or target == "all" ) :
if method_name=="all" :
#os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"QWeighted"))
os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"QWeighted"))
#os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"EtaCorrection"))
os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,"EtaCorrection"))
#os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s"%(run,input_folder,PlotPath,AlignementFile,edge_width,"DigitalCentroid"))
os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,"DigitalCentroid"))
else :
#os.system("python pyEudetReconstructionOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,method_name))
os.system("python pyEudetAnalysisOnly.py -r %i -d %s -o %s -a %s -e %f -m %s "%(run,input_folder,PlotPath,AlignementFile,edge_width,method_name))