Skip to content

Commit 5aeffe3

Browse files
author
Sunanda
committed
Add examples for the IsoTrack calibration in Calibration/HcalCalibAlgos/macros/jobs (restore the material from #45010)
1 parent 1234e95 commit 5aeffe3

File tree

8 files changed

+198
-0
lines changed

8 files changed

+198
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from CRABClient.UserUtilities import config
2+
config = config()
3+
4+
config.General.requestName = 'IsoTrk_2024C_Comissioning_v2'
5+
config.General.transferLogs = True
6+
config.General.transferOutputs = True
7+
config.General.workArea = 'CRAB3_IsoTrkCalib_Comissioning_2024C_v2'
8+
9+
config.JobType.maxMemoryMB = 4000
10+
config.JobType.pluginName = 'Analysis'
11+
config.JobType.psetName = 'isoTrackAlCaCommissioning_cfg.py'
12+
#config.JobType.psetName = 'isoTrackAlCaCounter_cfg.py'
13+
config.JobType.allowUndistributedCMSSW = True
14+
#config.Data.userInputFiles = open('input_files_Mahi22C.txt').readlines()
15+
config.Data.inputDataset = '/Commissioning/Run2024C-HcalCalIsoTrk-PromptReco-v1/ALCARECO'
16+
config.Data.splitting = 'FileBased'
17+
config.Data.unitsPerJob = 1
18+
#config.Data.totalUnits = 5
19+
config.Data.publication = False
20+
#config.Data.ignoreLocality = False
21+
#config.Data.outputDatasetTag = 'collision13.6TeV'
22+
#config.Data.runRange = '367080-367764'
23+
config.Data.outLFNDirBase = '/store/group/dpg_hcal/comm_hcal/suman/13p6TeV/2024EraB/'
24+
#config.Data.lumiMask ='https://cms-service-dqmdc.web.cern.ch/CAF/certification/Collisions23/Cert_Collisions2023_eraC_367095_368823_Golden.json'
25+
26+
config.Site.storageSite = 'T2_CH_CERN'
27+
#config.Site.whitelist = ['T2_CH_CERN']
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import CRABClient
2+
from CRABClient.UserUtilities import config
3+
config = config()
4+
5+
config.General.requestName = 'EGamma0_2024_EraC_v1'
6+
#config.General.transferOutputs = True
7+
config.General.transferLogs = False
8+
config.JobType.maxMemoryMB = 2500
9+
config.JobType.pluginName = 'Analysis'
10+
config.JobType.psetName = 'isoTrackNewAlCaAnalysis_cfg.py' #isoTrackAlCaAnalysis_cfg.py'
11+
12+
#config.Data.inputDataset = '/MinimumBias/Run2017D-21Sep2017-v1/RECO'
13+
#config.Data.inputDataset = '/MinimumBias0/Commissioning2021-HcalCalIsoTrkFilter-PromptReco-v1/ALCARECO'
14+
config.Data.inputDataset = '/EGamma0/Run2024C-HcalCalIsoTrkProducerFilter-PromptReco-v1/ALCARECO'
15+
config.Data.splitting = 'FileBased'
16+
config.Data.unitsPerJob = 5
17+
#config.Data.totalUnits = -1
18+
config.Data.publication = False
19+
config.Data.outputDatasetTag = config.General.requestName
20+
config.Data.partialDataset = True
21+
#config.Data.runRange = '379415-379729'
22+
#https://cms-service-dqmdc.web.cern.ch/CAF/certification/Collisions22/Cert_Collisions2022_355100_356175_Muon.json'
23+
#config.Data.lumiMask = 'https://cms-service-dqmdc.web.cern.ch/CAF/certification/Collisions24/Cert_Collisions2024_378981_379075_Golden.json'
24+
#https://cms-service-dqmdc.web.cern.ch/CAF/certification/Collisions23/Cert_Collisions2023_eraB_366403_367079_Golden.json'
25+
config.Site.storageSite = 'T2_CH_CERN'
26+
config.Data.outLFNDirBase = '/store/group/dpg_hcal/comm_hcal/Jyoti/13p6TeV/2024/EraC/EGamma0_v1/'
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Steps to be taken to submit batch jobs which create the flat ROOT Trees.
2+
1. Modify one of the python files:
3+
- isoTrackNewAlCaAnalysis_cfg.py for AlCaReco files from EGamma data stream
4+
- isoTrackAlCaCommissioning_cfg.py for AlCaReco files from Commissioning stream
5+
2. Use crab to submit the jobs:
6+
- crab submit -c CrabConfig_EGamm_EraC_2024_EGamm0.py for the EGamma stream
7+
- crab submit -c CrabConfig_Commissioning.py for the Commissioning stream
8+
This will create a whole set of ROOT output files with isolated track candidates
9+
of momentum between 10 and 100 Gev
10+
3. May strip off events with track candidates of momentum between 40 and 60 GeV
11+
./CalibMain.exe 3 <InputFile> <HistogramFile> <Flag> <DirectoryName> <Prefix>
12+
<PUcorr> <Truncate> <Nmax> <pmin> <pmax> <debug>
13+
14+
Create the executable CalibMain.exe using the script installCalib.csh
15+
16+
Name of the ROOT files to be used as input can be kept in a file (example d24CE.txt)
17+
18+
Some sample command lines for running calibration jobs (which creates correction files)
19+
and monitoring jobs (which creates a set of histograms to be used for making
20+
histograms to be used in the next step) are kept in *jobs.txt*.
21+
22+
Note <DirectoryName> for EGamma stream (hcalIsoTrackAnalyzer) is different from
23+
that for Commissioning stream (hcalIsoTrkAnalyzer)
24+
25+
Fit the histograms and make the plots:
26+
root [1] .L CalibFitPlots.C+g
27+
root [2] FitHistExtended("24CEM1.root","24CFit.root","24CE1",54,3,true,true,3,false)
28+
root [3] PlotHist("24CFit.root","24CE1","24C E#gamma Depth Dependent",1,11,0,13.6,true,false,2)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/eos/cms/store/group/dpg_hcal/comm_hcal/suman/13p6TeV/2024EraC/Commissioning/Commissioning_IsoTrk_2024C_4060_v1.root
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/eos/cms/store/group/dpg_hcal/comm_hcal/Jyoti/13p6TeV/2024/EraC/EGamma0_v3_UnCorr/EraC_40to60_v2.root
2+
/eos/cms/store/group/dpg_hcal/comm_hcal/Jyoti/13p6TeV/2024/EraC/EGamma0_v3_UnCorr/EraC_40to60_v3.root
3+
/eos/cms/store/group/dpg_hcal/comm_hcal/Jyoti/13p6TeV/2024/EraC/EGamma0_v3_UnCorr/EraC_40to60_v5.root
4+
/eos/cms/store/group/dpg_hcal/comm_hcal/Jyoti/13p6TeV/2024/EraC/EGamma0_v3_UnCorr/EraC_40to60_v7.root
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
from Configuration.Eras.Era_Run3_cff import Run3
4+
process = cms.Process("ANALYSIS",Run3)
5+
6+
process.load("FWCore.MessageService.MessageLogger_cfi")
7+
process.load('Configuration.StandardSequences.Services_cff')
8+
process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
9+
process.load("Configuration.StandardSequences.MagneticField_cff")
10+
process.load("RecoLocalCalo.EcalRecAlgos.EcalSeverityLevelESProducer_cfi")
11+
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
12+
13+
from Configuration.AlCa.GlobalTag import GlobalTag
14+
15+
#process.GlobalTag=GlobalTag(process.GlobalTag,'130X_dataRun3_Prompt_v3','')
16+
process.GlobalTag=GlobalTag(process.GlobalTag,'140X_dataRun3_Prompt_v2' ,'')
17+
18+
process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(1000)
19+
20+
if 'MessageLogger' in process.__dict__:
21+
process.MessageLogger.HcalIsoTrackX=dict()
22+
process.MessageLogger.HcalIsoTrack=dict()
23+
24+
process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
25+
26+
process.load('RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi')
27+
process.towerMakerAll = process.calotowermaker.clone()
28+
process.towerMakerAll.hbheInput = "hbhereco"
29+
process.towerMakerAll.hoInput = "none"
30+
process.towerMakerAll.hfInput = "none"
31+
process.towerMakerAll.ecalInputs = [cms.InputTag("ecalRecHit","EcalRecHitsEB"), cms.InputTag("ecalRecHit","EcalRecHitsEE")]
32+
process.towerMakerAll.AllowMissingInputs = True
33+
34+
process.load('Calibration.HcalCalibAlgos.hcalIsoTrkAnalyzer_cff')
35+
process.hcalIsoTrkAnalyzer.triggers = []
36+
process.hcalIsoTrkAnalyzer.useRaw = 0 # 1 for Raw
37+
process.hcalIsoTrkAnalyzer.ignoreTriggers = True
38+
39+
process.source = cms.Source("PoolSource",
40+
fileNames = cms.untracked.vstring("/store/data/Run2024B/Commissioning/ALCARECO/HcalCalIsoTrk-PromptReco-v1/000/379/075/00000/2a67bdd1-76ce-4be0-bf72-41584e8f23a7.root"))
41+
42+
43+
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
44+
45+
process.TFileService = cms.Service("TFileService",
46+
fileName = cms.string('output.root')
47+
)
48+
49+
process.p = cms.Path(process.hcalIsoTrkAnalyzer)
50+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
#from Configuration.Eras.Era_Run2_2018_cff import Run2_2018
4+
#process = cms.Process("ANALYSIS",Run2_2018)
5+
from Configuration.Eras.Era_Run3_cff import Run3
6+
process = cms.Process("ANALYSIS",Run3)
7+
8+
9+
process.load("FWCore.MessageService.MessageLogger_cfi")
10+
process.load('Configuration.StandardSequences.Services_cff')
11+
process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
12+
process.load("Configuration.StandardSequences.MagneticField_cff")
13+
process.load("RecoLocalCalo.EcalRecAlgos.EcalSeverityLevelESProducer_cfi")
14+
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
15+
from Configuration.AlCa.autoCond import autoCond
16+
#process.GlobalTag.globaltag=autoCond['124X_dataRun3_v10']
17+
process.GlobalTag.globaltag='140X_dataRun3_Prompt_v2'
18+
process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(1000)
19+
if 'MessageLogger' in process.__dict__:
20+
process.MessageLogger.HcalIsoTrackX=dict()
21+
process.MessageLogger.HcalIsoTrack=dict()
22+
23+
process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
24+
25+
process.load('Calibration.HcalCalibAlgos.hcalIsoTrackAnalyzer_cfi')
26+
process.hcalIsoTrackAnalyzer.useRaw = 0 # 1 for Raw
27+
process.hcalIsoTrackAnalyzer.debugEvents = [640818633, 640797426, 641251898,
28+
641261804, 641172007, 641031809]
29+
30+
process.source = cms.Source("PoolSource",
31+
fileNames = cms.untracked.vstring('/store/data/Run2024C/EGamma0/ALCARECO/HcalCalIsoTrkProducerFilter-PromptReco-v1/000/379/433/00000/455129b2-c385-42c6-ba07-31b69145cfba.root')
32+
#/store/data/Run2023D/EGamma1/ALCARECO/HcalCalIsoTrkProducerFilter-PromptReco-v2/000/370/667/00000/027375a6-b66a-4909-a23c-dc08278265c5.root')
33+
)
34+
35+
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
36+
37+
process.TFileService = cms.Service("TFileService",
38+
fileName = cms.string('output_newalca.root')
39+
)
40+
41+
process.p = cms.Path(process.hcalIsoTrackAnalyzer)
42+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Example of calibration job without phisymmetry correction (depth dependent)
2+
nohup ./CalibMain.exe 2 d24CE.txt 24CE0.root 1031 hcalIsoTrackAnalyzer 24CE0 -8 0 -1 30 24CE0corr.txt 1 0.5 1 1 0 0 1 0.25 3.0 25 -1 -1 300 0 0 99999999 1 72 0 0 1000 0 1 1 0 40 60 0 > & 24CE0.log &
3+
4+
# Example of calibration job with phisymmetry correction (depth dependent)
5+
nohup ./CalibMain.exe 2 d24CE.txt 24CE0.root 1031 hcalIsoTrackAnalyzer 24CE0 -8 0 -1 30 24CE0corr.txt 1 0.5 1 1 0 0 1 0.25 3.0 25 -1 -1 304 0 0 99999999 1 72 0 0 1000 0 1 1 0 40 60 0 PhiSym2024_RunC.txt > & 24CE0.log &
6+
7+
# Example of calibration job with phisymmetry correction (restricted depth dependent)
8+
nohup ./CalibMain.exe 2 d24CE.txt 24CE5.root 1031 hcalIsoTrackAnalyzer 24CE5 -8 5 -1 30 24CE5corr.txt 1 0.5 1 1 0 0 1 0.25 3.0 25 -1 -1 304 0 0 99999999 1 72 0 0 1000 0 1 1 0 40 60 0 PhiSym2024_RunC.txt > & 24CE5.log &
9+
10+
# Example of calibration job with phisymmetry correction (depth independent)
11+
nohup ./CalibMain.exe 2 d24CE.txt 24CE2.root 1031 hcalIsoTrackAnalyzer 24CE2 -8 2 -1 30 24CE2corr.txt 1 0.5 1 1 0 0 1 0.25 3.0 25 -1 -1 304 0 0 99999999 1 72 0 0 1000 0 1 1 0 40 60 0 > & 24CE2.log &
12+
13+
# Example of a job producing histograms (depth dependent)
14+
nohup ./CalibMain.exe 0 d24CE.txt 24CEM1.root 41031 hcalIsoTrackAnalyzer 24CE1 -8 0 -1 1 54 0 1 0 0 30 0 99999999 1 72 1 0 1000 0 0 0 1 1 24CE0corr.txt PhiSym2024_RunC.txt >& 24CEM1.log &
15+
16+
# Example of a job producing histograms (restricted depth dependent)
17+
nohup ./CalibMain.exe 0 d24CE.txt 24CEM2.root 41031 hcalIsoTrackAnalyzer 24CE2 -8 5 -1 1 54 0 1 0 0 30 0 99999999 1 72 1 0 1000 0 0 0 1 1 24CE5corr.txt PhiSym2024_RunC.txt >& 24CEM2.log &
18+
19+
# Example of a job producing histograms (depth independent)
20+
nohup ../d24/CalibMain.exe 0 d24CE.txt 24CEM3.root 41031 hcalIsoTrackAnalyzer 24CE3 -8 2 -1 1 54 0 1 0 0 30 0 99999999 1 72 1 0 1000 0 0 0 1 1 24CE2corr.txt PhiSym2024_RunC.txt >& 24CEM3.log &

0 commit comments

Comments
 (0)