Skip to content
Snippets Groups Projects

ZDC clustering

+ 75
0
@@ -28,6 +28,18 @@ if "PBEAM" in os.environ:
@@ -28,6 +28,18 @@ if "PBEAM" in os.environ:
else:
else:
ionBeamEnergy = 100
ionBeamEnergy = 100
 
# ZDC reconstruction
 
try:
 
ffi_zdc_calibrations = 'calibrations/ffi_zdc.json'
 
with open(os.path.join(detector_path,ffi_zdc_calibrations)) as f:
 
ffi_zdc_config = json.load(f)
 
ffi_zdc_ecal_sf = eval(ffi_zdc_config['ffi_zdc_ecal']['sampling_fraction'])
 
ffi_zdc_hcal_sf = eval(ffi_zdc_config['ffi_zdc_hcal']['sampling_fraction'])
 
except (IOError, OSError):
 
print(f'Using default ffi_zdc calibrations; {ffi_zdc_calibrations} not found.')
 
ffi_zdc_ecal_sf = float(os.environ.get("FFI_ZDC_ECAL_SAMP_FRAC", 1.0))
 
ffi_zdc_hcal_sf = float(os.environ.get("FFI_ZDC_HCAL_SAMP_FRAC", 1.0))
 
# RICH reconstruction
# RICH reconstruction
qe_data = [(1.0, 0.25), (7.5, 0.25),]
qe_data = [(1.0, 0.25), (7.5, 0.25),]
@@ -162,6 +174,8 @@ sim_coll = [
@@ -162,6 +174,8 @@ sim_coll = [
'GEMTrackerEndcapHits',
'GEMTrackerEndcapHits',
'VertexBarrelHits',
'VertexBarrelHits',
'DRICHHits',
'DRICHHits',
 
'ZDCEcalHits',
 
'ZDCHcalHits',
]
]
if 'acadia' in detector_version:
if 'acadia' in detector_version:
sim_coll.append('VertexEndcapHits')
sim_coll.append('VertexEndcapHits')
@@ -236,6 +250,67 @@ trk_b0_reco = TrackerHitReconstruction("trk_b0_reco",
@@ -236,6 +250,67 @@ trk_b0_reco = TrackerHitReconstruction("trk_b0_reco",
outputHitCollection="B0TrackerRecHits")
outputHitCollection="B0TrackerRecHits")
algorithms.append(trk_b0_reco)
algorithms.append(trk_b0_reco)
 
# ZDC ECAL WSciFi
 
ffi_zdc_ecal_digi = CalHitDigi('ffi_zdc_ecal_digi',
 
inputHitCollection = 'ZDCEcalHits',
 
outputHitCollection = 'ZDCEcalRawHits')
 
algorithms.append(ffi_zdc_ecal_digi)
 
 
ffi_zdc_ecal_reco = CalHitReco('ffi_zdc_ecal_reco',
 
inputHitCollection = ffi_zdc_ecal_digi.outputHitCollection,
 
outputHitCollection = 'ZDCEcalRecHits',
 
readoutClass = 'ZDCEcalHits',
 
localDetFields = ['system'])
 
algorithms.append(ffi_zdc_ecal_reco)
 
 
ffi_zdc_ecal_cl = IslandCluster('ffi_zdc_ecal_cl',
 
inputHitCollection = ffi_zdc_ecal_reco.outputHitCollection,
 
outputProtoClusterCollection = 'ZDCEcalProtoClusters',
 
minClusterCenterEdep = 3.*MeV,
 
minClusterHitEdep = 0.1*MeV,
 
localDistXY = [50*mm, 50*mm],
 
splitCluster = True)
 
algorithms.append(ffi_zdc_ecal_cl)
 
 
ffi_zdc_ecal_clreco = RecoCoG('ffi_zdc_ecal_clreco',
 
inputHitCollection = ffi_zdc_ecal_cl.inputHitCollection,
 
inputProtoClusterCollection = ffi_zdc_ecal_cl.outputProtoClusterCollection,
 
outputClusterCollection = 'ZDCEcalClusters',
 
mcHits = "ZDCEcalHits",
 
logWeightBase = 3.6)
 
algorithms.append(ffi_zdc_ecal_clreco)
 
 
# ZDC HCAL PbSciFi
 
ffi_zdc_hcal_digi = CalHitDigi('ffi_zdc_hcal_digi',
 
inputHitCollection = 'ZDCHcalHits',
 
outputHitCollection = 'ZDCHcalRawHits')
 
algorithms.append(ffi_zdc_hcal_digi)
 
 
ffi_zdc_hcal_reco = CalHitReco('ffi_zdc_hcal_reco',
 
inputHitCollection = ffi_zdc_hcal_digi.outputHitCollection,
 
outputHitCollection = 'ZDCHcalRecHits',
 
readoutClass = 'ZDCHcalHits',
 
localDetFields = ['system'])
 
algorithms.append(ffi_zdc_hcal_reco)
 
 
ffi_zdc_hcal_cl = IslandCluster('ffi_zdc_hcal_cl',
 
inputHitCollection = ffi_zdc_hcal_reco.outputHitCollection,
 
outputProtoClusterCollection = 'ZDCHcalProtoClusters',
 
minClusterCenterEdep = 1.*MeV,
 
minClusterHitEdep = 0.1*MeV,
 
localDistXY = [200*mm, 200*mm],
 
splitCluster = False)
 
algorithms.append(ffi_zdc_hcal_cl)
 
 
ffi_zdc_hcal_clreco = RecoCoG('ffi_zdc_hcal_clreco',
 
inputHitCollection = ffi_zdc_hcal_cl.inputHitCollection,
 
inputProtoClusterCollection = ffi_zdc_hcal_cl.outputProtoClusterCollection,
 
outputClusterCollection = 'ZDCHcalClusters',
 
mcHits = "ZDCHcalHits",
 
logWeightBase = 3.6,
 
samplingFraction = ffi_zdc_hcal_sf)
 
algorithms.append(ffi_zdc_hcal_clreco)
 
# Crystal Endcap Ecal
# Crystal Endcap Ecal
ce_ecal_daq = calo_daq['ecal_neg_endcap']
ce_ecal_daq = calo_daq['ecal_neg_endcap']
ce_ecal_digi = CalHitDigi("ce_ecal_digi",
ce_ecal_digi = CalHitDigi("ce_ecal_digi",
Loading