forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 0
Beamspot computation and usage in the event reconstruction
sarafiorendi edited this page Nov 22, 2018
·
3 revisions
- before November 2017: DQM compute the BS starting from the RAW DQM stream, reconstructing tracks and vertices and performing the fit
- input: Express Stream
- output: values passed to SCAL
- after November 2017: DQM compute the BS starting from the streamDQMOnlineBeamspot, where tracks and vertices are already present. They are in fact reconstructed by the HLT path (HLT_ZeroBias_BeamSpot and HLT_HTXXX_BeamSpot) and saved into the event. DQM only performs the BS fit
- input: streamDQMOnlineBeamspot
- output: values passed to SCAL
- the second workflow can only run when HLT track reconstruction can be safely enabled
- more info here
- Express reconstruction: uses the online BS (taking it from the event). in case the info isn't available, the last IOV of the express GT is used [1]. Express cfg can be checked by doing [2]
- Prompt reconstruction: consumes the payloads created during the express processing by the Prompt Calibration Loop. In case the PCL fit had failed, Prompt Reco just consumes the latest open IOV in the Beam Spot by LS tag (BeamSpotObjects_PCL_byLumi_v0_prompt) included in the Prompt Reco GT and populated by the PCL.
[2]
cd CMSSW_9_2_0_patch2/src/
git cms-addpkg Configuration/DataProcessing
cd Configuration/DataProcessing/test/
cmsenv
python RunExpressProcessing.py --scenario ppEra_Run2_2017 --global-tag
92X_dataRun2_Express_v2 --lfn /store/data/Run2017A/ZeroBias1/RAW/v1/000/294/645/00000/56FAC88A-303D-E711-821F-02163E01A270.root --fevt
unpickle the resulting pkl file with:
import pickle
pickleHandle = open('RunExpressProcessingCfg.pkl','rb')
process = pickle.load(pickleHandle)
f = open('myPSet.py', 'w')
f.write(process.dumpPython())
f.close()
less myPSet.py | grep "process.offlineBeamSpot = cms.EDProducer(" -A 5 myPSet.py
process.offlineBeamSpot = cms.EDProducer("BeamSpotOnlineProducer",
changeToCMSCoordinates = cms.bool(False),
gtEvmLabel = cms.InputTag("gtEvmDigis"),
maxRadius = cms.double(2),
maxZ = cms.double(40),
setSigmaZ = cms.double(-1),
src = cms.InputTag("scalersRawToDigi")
1 - online beamspot computation starts from an hard-coded window
2 - HLT consumes the online beamspot computed in 1. In case of failure of the fit it falls back to the DB value (which comes from the PCL of a previous run)
3 - express: same as point 2
4 - prompt: uses the values computed by PCL
The confusion is increased by the fact that the beam-spot object used by RECO is put in the event by a producer. The name is:
a) onlineBeamSpot (for HLT)
b) offlineBeamSpot (for express)
c) offlineBeamSpot (for prompt)
Despite the naming (a) and (b) actually do the same thing (read from the RAW the beamspot computed online) while (c) actually reads from DB
- Instructions for ReReco
- BS parameters for MC production & upload to CondDB
- Talks
- Useful links
- Notes for BS fit on VdM scans
- Notes for error scale computation
- Begin of run checks
- DQM and PCL beam spot fits
- BS for FTV
- BS Trends Plots
- Payloads log 2015
- Payloads log 2016
- Payloads log 2017
- Payloads log UL2017
- Payloads log 2018
- Payloads log 2019
- Payloads log 2022
- Payloads log 2023