Skip to content

Commit f99e0fb

Browse files
authored
Anchoring: Ability to get detector list from GRPECS (AliceO2Group#1452)
1 parent e17e279 commit f99e0fb

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

MC/bin/o2dpg_sim_workflow.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
parser.add_argument('-trigger',help='event selection: particle, external', default='')
6060
parser.add_argument('-ini',help='generator init parameters file (full paths required), for example: ${O2DPG_ROOT}/MC/config/PWGHF/ini/GeneratorHF.ini', default='')
6161
parser.add_argument('-confKey',help='generator or trigger configuration key values, for example: "GeneratorPythia8.config=pythia8.cfg;A.x=y"', default='')
62+
parser.add_argument('--readoutDets',help='comma separated string of detectors readout (does not modify material budget - only hit creation)', default='all')
6263

6364
parser.add_argument('-interactionRate',help='Interaction rate, used in digitization', default=-1)
6465
parser.add_argument('-bcPatternFile',help='Bunch crossing pattern file, used in digitization (a file name or "ccdb")', default='')

MC/bin/o2dpg_sim_workflow_anchored.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def retrieve_CCDBObject_asJSON(ccdbreader, path, timestamp, objtype_external = N
121121
jsonTString = TBufferJSON.ConvertToJSON(obj, TClass.GetClass(objtype))
122122
return json.loads(jsonTString.Data())
123123

124-
def retrieve_sor_eor_fromGRPECS(ccdbreader, run_number, rct = None):
124+
def retrieve_params_fromGRPECS(ccdbreader, run_number, rct = None):
125125
"""
126126
Retrieves start of run (sor), end of run (eor) and other global parameters from the GRPECS object,
127127
given a run number. We first need to find the right object
@@ -191,8 +191,13 @@ def retrieve_sor_eor_fromGRPECS(ccdbreader, run_number, rct = None):
191191
print ("OrbitFirst", orbitFirst) # first orbit of this run
192192
print ("LastOrbit of run", orbitLast)
193193

194+
# Now fetch the detector list
195+
print ("DetsReadout-Mask: ", grp["mDetsReadout"]['v'])
196+
detList = o2.detectors.DetID.getNames(grp["mDetsReadout"]['v'])
197+
print ("Detector list is ", detList)
198+
194199
# orbitReset.get(run_number)
195-
return {"SOR": SOR, "EOR": EOR, "FirstOrbit" : orbitFirst, "LastOrbit" : orbitLast, "OrbitsPerTF" : int(grp["mNHBFPerTF"])}
200+
return {"SOR": SOR, "EOR": EOR, "FirstOrbit" : orbitFirst, "LastOrbit" : orbitLast, "OrbitsPerTF" : int(grp["mNHBFPerTF"]), "detList" : detList}
196201

197202
def retrieve_GRP(ccdbreader, timestamp):
198203
"""
@@ -335,7 +340,7 @@ def main():
335340
ccdbreader = CCDBAccessor(args.ccdb_url)
336341
# fetch the EOR/SOR
337342
rct_sor_eor = retrieve_sor_eor(ccdbreader, args.run_number) # <-- from RCT/Info
338-
GLOparams = retrieve_sor_eor_fromGRPECS(ccdbreader, args.run_number, rct=rct_sor_eor)
343+
GLOparams = retrieve_params_fromGRPECS(ccdbreader, args.run_number, rct=rct_sor_eor)
339344
if not GLOparams:
340345
print ("No time info found")
341346
sys.exit(1)
@@ -419,7 +424,8 @@ def main():
419424

420425
# we finally pass forward to the unanchored MC workflow creation
421426
# TODO: this needs to be done in a pythonic way clearly
422-
forwardargs += " -tf " + str(args.tf) + " --sor " + str(sor) + " --timestamp " + str(timestamp) + " --production-offset " + str(prod_offset) + " -run " + str(args.run_number) + " --run-anchored --first-orbit " + str(first_orbit) + " -field ccdb -bcPatternFile ccdb" + " --orbitsPerTF " + str(GLOparams["OrbitsPerTF"]) + " -col " + str(ColSystem) + " -eCM " + str(eCM)
427+
forwardargs += " -tf " + str(args.tf) + " --sor " + str(sor) + " --timestamp " + str(timestamp) + " --production-offset " + str(prod_offset) + " -run " + str(args.run_number) + " --run-anchored --first-orbit " \
428+
+ str(first_orbit) + " -field ccdb -bcPatternFile ccdb" + " --orbitsPerTF " + str(GLOparams["OrbitsPerTF"]) + " -col " + str(ColSystem) + " -eCM " + str(eCM) + ' --readoutDets ' + GLOparams['detList']
423429
print ("forward args ", forwardargs)
424430
cmd = "${O2DPG_ROOT}/MC/bin/o2dpg_sim_workflow.py " + forwardargs
425431
print ("Creating time-anchored workflow...")

0 commit comments

Comments
 (0)