Skip to content

Commit 2ddeb78

Browse files
authored
Merge pull request #47970 from JHiltbrand/alcaStreamHcalIsoTrk_151X
Add Config for Running HcalCalIsoTrkProducerFilter ALCARECO on new AlCaHcalIsoTrk AlCaRaw Stream
2 parents 5d927c8 + 99a37fb commit 2ddeb78

File tree

8 files changed

+143
-27
lines changed

8 files changed

+143
-27
lines changed

Calibration/HcalAlCaRecoProducers/plugins/AlCaHcalIsotrkProducer.cc

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,10 @@ class AlCaHcalIsotrkProducer : public edm::stream::EDProducer<edm::GlobalCache<a
166166
const double hitEthrEB_, hitEthrEE0_, hitEthrEE1_;
167167
const double hitEthrEE2_, hitEthrEE3_;
168168
const double hitEthrEELo_, hitEthrEEHi_;
169-
const edm::InputTag triggerEvent_, theTriggerResultsLabel_;
170-
const std::string labelGenTrack_, labelRecVtx_, labelEB_;
171-
const std::string labelEE_, labelHBHE_, labelTower_, l1TrigName_;
169+
const edm::InputTag triggerEvent_, theTriggerResultsLabel_, labelEB_, labelEE_;
170+
const edm::InputTag labelGenTrack_, labelRecVtx_;
171+
const edm::InputTag labelHBHE_, labelTower_;
172+
const std::string l1TrigName_;
172173
const std::vector<int> oldID_, newDepth_;
173174
const bool hep17_;
174175
const std::string labelIsoTkVar_, labelIsoTkEvtVar_;
@@ -250,12 +251,12 @@ AlCaHcalIsotrkProducer::AlCaHcalIsotrkProducer(edm::ParameterSet const& iConfig,
250251
hitEthrEEHi_(iConfig.getParameter<double>("EEHitEnergyThresholdHigh")),
251252
triggerEvent_(iConfig.getParameter<edm::InputTag>("labelTriggerEvent")),
252253
theTriggerResultsLabel_(iConfig.getParameter<edm::InputTag>("labelTriggerResult")),
253-
labelGenTrack_(iConfig.getParameter<std::string>("labelTrack")),
254-
labelRecVtx_(iConfig.getParameter<std::string>("labelVertex")),
255-
labelEB_(iConfig.getParameter<std::string>("labelEBRecHit")),
256-
labelEE_(iConfig.getParameter<std::string>("labelEERecHit")),
257-
labelHBHE_(iConfig.getParameter<std::string>("labelHBHERecHit")),
258-
labelTower_(iConfig.getParameter<std::string>("labelCaloTower")),
254+
labelEB_(iConfig.getParameter<edm::InputTag>("labelEBRecHit")),
255+
labelEE_(iConfig.getParameter<edm::InputTag>("labelEERecHit")),
256+
labelGenTrack_(iConfig.getParameter<edm::InputTag>("labelTrack")),
257+
labelRecVtx_(iConfig.getParameter<edm::InputTag>("labelVertex")),
258+
labelHBHE_(iConfig.getParameter<edm::InputTag>("labelHBHERecHit")),
259+
labelTower_(iConfig.getParameter<edm::InputTag>("labelCaloTower")),
259260
l1TrigName_(iConfig.getUntrackedParameter<std::string>("l1TrigName", "L1_SingleJet60")),
260261
oldID_(iConfig.getUntrackedParameter<std::vector<int>>("oldID")),
261262
newDepth_(iConfig.getUntrackedParameter<std::vector<int>>("newDepth")),
@@ -290,10 +291,10 @@ AlCaHcalIsotrkProducer::AlCaHcalIsotrkProducer(edm::ParameterSet const& iConfig,
290291
// Eta dependent cut uses (maxRestrictionP_ * exp(|ieta|*log(2.5)/18))
291292
// with the factor for exponential slopeRestrictionP_ = log(2.5)/18
292293
// maxRestrictionP_ = 8 GeV as came from a study
293-
std::string labelBS = iConfig.getParameter<std::string>("labelBeamSpot");
294+
edm::InputTag labelBS = iConfig.getParameter<edm::InputTag>("labelBeamSpot");
294295
edm::InputTag algTag = iConfig.getParameter<edm::InputTag>("algInputTag");
295296
edm::InputTag extTag = iConfig.getParameter<edm::InputTag>("extInputTag");
296-
std::string labelMuon = iConfig.getParameter<std::string>("labelMuon");
297+
edm::InputTag labelMuon = iConfig.getParameter<edm::InputTag>("labelMuon");
297298

298299
for (unsigned int k = 0; k < oldID_.size(); ++k) {
299300
oldDet_.emplace_back((oldID_[k] / 10000) % 10);
@@ -312,14 +313,12 @@ AlCaHcalIsotrkProducer::AlCaHcalIsotrkProducer(edm::ParameterSet const& iConfig,
312313
tok_alg_ = consumes<BXVector<GlobalAlgBlk>>(algTag);
313314
tok_Muon_ = consumes<reco::MuonCollection>(labelMuon);
314315
tok_recVtx_ = consumes<reco::VertexCollection>(labelRecVtx_);
315-
tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", labelEB_));
316-
tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", labelEE_));
316+
tok_EB_ = consumes<EcalRecHitCollection>(labelEB_);
317+
tok_EE_ = consumes<EcalRecHitCollection>(labelEE_);
317318
tok_hbhe_ = consumes<HBHERecHitCollection>(labelHBHE_);
318319
edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " "
319-
<< labelBS << " " << labelRecVtx_ << " " << labelGenTrack_ << " "
320-
<< edm::InputTag("ecalRecHit", labelEB_) << " "
321-
<< edm::InputTag("ecalRecHit", labelEE_) << " " << labelHBHE_ << " " << labelTower_
322-
<< " " << labelMuon;
320+
<< labelBS << " " << labelRecVtx_ << " " << labelGenTrack_ << " " << labelEB_ << " "
321+
<< labelEE_ << " " << labelHBHE_ << " " << labelTower_ << " " << labelMuon;
323322

324323
tok_ddrec_ = esConsumes<HcalDDDRecConstants, HcalRecNumberingRecord, edm::Transition::BeginRun>();
325324
tok_bFieldH_ = esConsumes<MagneticField, IdealMagneticFieldRecord>();
@@ -427,14 +426,14 @@ void AlCaHcalIsotrkProducer::fillDescriptions(edm::ConfigurationDescriptions& de
427426
// various labels for collections used in the code
428427
desc.add<edm::InputTag>("labelTriggerEvent", edm::InputTag("hltTriggerSummaryAOD", "", "HLT"));
429428
desc.add<edm::InputTag>("labelTriggerResult", edm::InputTag("TriggerResults", "", "HLT"));
430-
desc.add<std::string>("labelTrack", "generalTracks");
431-
desc.add<std::string>("labelVertex", "offlinePrimaryVertices");
432-
desc.add<std::string>("labelEBRecHit", "EcalRecHitsEB");
433-
desc.add<std::string>("labelEERecHit", "EcalRecHitsEE");
434-
desc.add<std::string>("labelHBHERecHit", "hbhereco");
435-
desc.add<std::string>("labelBeamSpot", "offlineBeamSpot");
436-
desc.add<std::string>("labelCaloTower", "towerMaker");
437-
desc.add<std::string>("labelMuon", "muons");
429+
desc.add<edm::InputTag>("labelTrack", edm::InputTag("generalTracks"));
430+
desc.add<edm::InputTag>("labelVertex", edm::InputTag("offlinePrimaryVertices"));
431+
desc.add<edm::InputTag>("labelEBRecHit", edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
432+
desc.add<edm::InputTag>("labelEERecHit", edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
433+
desc.add<edm::InputTag>("labelHBHERecHit", edm::InputTag("hbhereco"));
434+
desc.add<edm::InputTag>("labelBeamSpot", edm::InputTag("offlineBeamSpot"));
435+
desc.add<edm::InputTag>("labelCaloTower", edm::InputTag("towerMaker"));
436+
desc.add<edm::InputTag>("labelMuon", edm::InputTag("muons"));
438437
desc.add<edm::InputTag>("algInputTag", edm::InputTag("gtStage2Digis"));
439438
desc.add<edm::InputTag>("extInputTag", edm::InputTag("gtStage2Digis"));
440439
desc.add<std::string>("isoTrackLabel", "HcalIsoTrack");
@@ -1432,7 +1431,7 @@ std::pair<double, double> AlCaHcalIsotrkProducer::storeEnergy(const HcalRespCorr
14321431
bool AlCaHcalIsotrkProducer::notaMuon(const reco::Track* pTrack0, const edm::Handle<reco::MuonCollection>& muonh) {
14331432
bool flag(true);
14341433
for (reco::MuonCollection::const_iterator recMuon = muonh->begin(); recMuon != muonh->end(); ++recMuon) {
1435-
if (recMuon->innerTrack().isNonnull()) {
1434+
if (recMuon->innerTrack().isAvailable()) {
14361435
const reco::Track* pTrack = (recMuon->innerTrack()).get();
14371436
bool mediumMuon = (((recMuon->isPFMuon()) && (recMuon->isGlobalMuon() || recMuon->isTrackerMuon())) &&
14381437
(recMuon->innerTrack()->validFraction() > 0.49));
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
# output block for alcastream HCAL Isotrk
4+
# output module
5+
# module alcastreamHcalIsotrkOutput = PoolOutputModule
6+
OutALCARECOHcalCalIsoTrkFromAlCaRaw_noDrop = cms.PSet(
7+
# use this in case of filter available
8+
SelectEvents = cms.untracked.PSet(
9+
SelectEvents = cms.vstring('pathALCARECOHcalCalIsoTrkFromAlCaRaw')
10+
),
11+
outputCommands = cms.untracked.vstring(
12+
'keep *_alcaHcalIsotrkFromAlCaRawProducer_HcalIsoTrack_*',
13+
'keep *_alcaHcalIsotrkFromAlCaRawProducer_HcalIsoTrackEvent_*',
14+
)
15+
)
16+
17+
18+
OutALCARECOHcalCalIsoTrkFromAlCaRaw=OutALCARECOHcalCalIsoTrkFromAlCaRaw_noDrop.clone()
19+
OutALCARECOHcalCalIsoTrkFromAlCaRaw.outputCommands.insert(0, "drop *")
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
#--------------------------------------------------------------------
4+
# AlCaReco filtering for running on dedicated AlCaRaw: AlCaHcalIsoTrk
5+
#--------------------------------------------------------------------
6+
7+
from Calibration.HcalAlCaRecoProducers.alcaHcalIsotrkProducer_cff import alcaHcalIsotrkProducer as _alcaHcalIsotrkProducer
8+
from Calibration.HcalAlCaRecoProducers.alcaHcalIsotrkFilter_cfi import alcaHcalIsotrkFilter as _alcaHcalIsotrkFilter
9+
10+
11+
alcaHcalIsotrkFromAlCaRawProducer = _alcaHcalIsotrkProducer.clone(
12+
labelTrack = "hltMergedTracksSelector",
13+
labelVertex = "hltTrimmedPixelVertices",
14+
labelEBRecHit = ("hltEcalRecHit", "EcalRecHitsEB"),
15+
labelEERecHit = ("hltEcalRecHit", "EcalRecHitsEE"),
16+
labelHBHERecHit = "hltHbhereco",
17+
labelBeamSpot = "hltOnlineBeamSpot",
18+
labelMuon = "hltIterL3Muons",
19+
labelTriggerEvent = "hltTriggerSummaryAOD"
20+
)
21+
22+
alcaHcalIsotrkFromAlCaRawFilter = _alcaHcalIsotrkFilter.clone(
23+
isoTrackLabel = ('alcaHcalIsotrkFromAlCaRawProducer', 'HcalIsoTrack'),
24+
)
25+
26+
seqALCARECOHcalCalIsoTrkFromAlCaRaw = cms.Sequence(alcaHcalIsotrkFromAlCaRawProducer * alcaHcalIsotrkFromAlCaRawFilter)

Configuration/AlCa/python/autoAlca.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# These two (AlCaPhiSym, AlCaP0) cannot run on RAW, they are just meant to run on the dedicated AlcaRAW so they do not enter the allForPrompt list
55
"AlCaPhiSym" : "",
66
"AlCaP0" : "",
7+
"AlCaHcalIsoTrk" : "HcalCalIsoTrkFromAlCaRaw",
78
"AlCaPPSExpress" : "PPSCalMaxTracks", # Express producer
89
"AlCaPPSPrompt" : "PPSCalMaxTracks", # Prompt producer
910
"Commissioning" : "HcalCalIsoTrk+TkAlMinBias+SiStripCalMinBias+HcalCalIsolatedBunchSelector",
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/usr/bin/env python3
2+
"""
3+
_AlCaHcalIsoTrk_Run3_
4+
5+
Scenario supporting proton collisions for AlCa needs for AlCaHcalIsoTrk data stream
6+
7+
"""
8+
9+
from Configuration.DataProcessing.Scenario import *
10+
from Configuration.DataProcessing.Utils import stepALCAPRODUCER,dictIO,gtNameAndConnect
11+
from Configuration.Eras.Era_Run3_cff import Run3
12+
from Configuration.DataProcessing.Impl.pp import pp
13+
import FWCore.ParameterSet.Config as cms
14+
15+
class AlCaHcalIsoTrk_Run3(pp):
16+
def __init__(self):
17+
Scenario.__init__(self)
18+
self.eras=Run3
19+
self.skims=["HcalCalIsoTrkFromAlCaRaw"]
20+
21+
"""
22+
_AlCaHcalIsoTrk_Run3_
23+
24+
Implement configuration building for data processing for proton
25+
collision data taking AlCaHcalIsoTrk AlCaRaw
26+
27+
"""
28+
29+
def promptReco(self, globalTag, **args):
30+
"""
31+
_promptReco_
32+
33+
Proton collision data taking prompt reco
34+
35+
"""
36+
options = Options()
37+
options.__dict__.update(defaultOptions.__dict__)
38+
options.scenario = "pp"
39+
40+
if ('nThreads' in args):
41+
options.nThreads=args['nThreads']
42+
43+
options.step = stepALCAPRODUCER(args['skims'])
44+
45+
dictIO(options,args)
46+
options.conditions = gtNameAndConnect(globalTag, args)
47+
48+
process = cms.Process('RECO', cms.ModifierChain(self.eras))
49+
cb = ConfigBuilder(options, process = process, with_output = True)
50+
51+
# Input source
52+
process.source = cms.Source("PoolSource",
53+
fileNames = cms.untracked.vstring()
54+
)
55+
cb.prepare()
56+
57+
return process

Configuration/DataProcessing/test/run_CfgTest_5.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function die { echo $1: status $2 ; exit $2; }
1010

1111
function runTest { echo $1 ; python3 $1 || die "Failure for configuration: $1" $?; }
1212

13-
declare -a arr=("AlCaLumiPixels" "AlCaTestEnable" "cosmicsEra_Run2_2018" "hcalnzsEra_Run2_2018" "ppEra_Run2_2018" "hcalnzsEra_Run2_2018_highBetaStar" "hcalnzsEra_Run2_2018_pp_on_AA" "ppEra_Run2_2018_highBetaStar" "ppEra_Run2_2018_pp_on_AA" "cosmicsHybridEra_Run2_2018" "cosmicsEra_Run3" "hcalnzsEra_Run3" "ppEra_Run3" "AlCaLumiPixels_Run3" "AlCaPhiSymEcal_Nano" "AlCaPPS_Run3" "ppEra_Run3_pp_on_PbPb" "hcalnzsEra_Run3_pp_on_PbPb" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters" "ppEra_Run3_2023" "ppEra_Run3_pp_on_PbPb_2023" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters_2023" "ppEra_Run3_2024" "ppEra_Run3_pp_on_PbPb_2024" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters_2024" "ppEra_Run3_2024_UPC" "ppEra_Run3_2024_ppRef")
13+
declare -a arr=("AlCaLumiPixels" "AlCaTestEnable" "cosmicsEra_Run2_2018" "hcalnzsEra_Run2_2018" "ppEra_Run2_2018" "hcalnzsEra_Run2_2018_highBetaStar" "hcalnzsEra_Run2_2018_pp_on_AA" "ppEra_Run2_2018_highBetaStar" "ppEra_Run2_2018_pp_on_AA" "cosmicsHybridEra_Run2_2018" "cosmicsEra_Run3" "hcalnzsEra_Run3" "ppEra_Run3" "AlCaLumiPixels_Run3" "AlCaPhiSymEcal_Nano" "AlCaPPS_Run3" "AlCaHcalIsoTrk_Run3" "ppEra_Run3_pp_on_PbPb" "hcalnzsEra_Run3_pp_on_PbPb" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters" "ppEra_Run3_2023" "ppEra_Run3_pp_on_PbPb_2023" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters_2023" "ppEra_Run3_2024" "ppEra_Run3_pp_on_PbPb_2024" "ppEra_Run3_pp_on_PbPb_approxSiStripClusters_2024" "ppEra_Run3_2024_UPC" "ppEra_Run3_2024_ppRef")
1414
for scenario in "${arr[@]}"
1515
do
1616
runTest "${SCRAM_TEST_PATH}/RunPromptReco.py --scenario $scenario --reco --aod --dqmio --global-tag GLOBALTAG --lfn=/store/whatever --alcareco TkAlMinBias+SiStripCalMinBias"

Configuration/EventContent/python/AlCaRecoOutput_cff.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff import *
104104
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkNoHLT_Output_cff import *
105105
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkProducerFilter_Output_cff import *
106+
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkFromAlCaRaw_Output_cff import *
106107
# HCAL calibration with iterative phi sym
107108
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIterativePhiSym_Output_cff import *
108109
# HCAL calibration with min.bias

Configuration/StandardSequences/python/AlCaRecoStreams_cff.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@
102102
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkFilter_cff import *
103103
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkFilterNoHLT_cff import *
104104
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkProducerFilter_cff import *
105+
# Run HcalCalIsoTrkProducerFilter on dedicated AlCaRaw data stream AlCaHcalIsoTrk
106+
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalIsoTrkFromAlCaRaw_cff import *
105107
# HCAL noise
106108
from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalNoise_cff import *
107109
#HCAL calibration iterative PhiSym
@@ -251,6 +253,7 @@
251253
pathALCARECOHcalCalIsoTrkFilter = cms.Path(seqALCARECOHcalCalIsoTrkFilter)
252254
pathALCARECOHcalCalIsoTrkFilterNoHLT = cms.Path(seqALCARECOHcalCalIsoTrkFilterNoHLT)
253255
pathALCARECOHcalCalIsoTrkProducerFilter = cms.Path(seqALCARECOHcalCalIsoTrkProducerFilter)
256+
pathALCARECOHcalCalIsoTrkFromAlCaRaw = cms.Path(seqALCARECOHcalCalIsoTrkFromAlCaRaw)
254257
pathALCARECOHcalCalNoise = cms.Path(seqALCARECOHcalCalNoise)
255258
pathALCARECOHcalCalIterativePhiSym = cms.Path(seqALCARECOHcalCalIterativePhiSym*ALCARECOHcalCalIterativePhisymDQM)
256259
pathALCARECOHcalCalIsolatedBunchSelector = cms.Path(seqALCARECOHcalCalIsolatedBunchSelector*ALCARECOHcalCalIsolatedBunchDQM)
@@ -759,6 +762,16 @@
759762
dataTier = cms.untracked.string('ALCARECO')
760763
)
761764

765+
ALCARECOStreamHcalCalIsoTrkFromAlCaRaw = cms.FilteredStream(
766+
responsible = 'Joshua Hiltbrand',
767+
name = 'HcalCalIsoTrkFromAlCaRaw',
768+
paths = (pathALCARECOHcalCalIsoTrkFromAlCaRaw),
769+
content = OutALCARECOHcalCalIsoTrkFromAlCaRaw.outputCommands,
770+
selectEvents = OutALCARECOHcalCalIsoTrkFromAlCaRaw.SelectEvents,
771+
dataTier = cms.untracked.string('ALCARECO')
772+
)
773+
774+
762775
ALCARECOStreamHcalCalNoise = cms.FilteredStream(
763776
responsible = 'Grigory Safronov',
764777
name = 'HcalCalNoise',

0 commit comments

Comments
 (0)