Skip to content

Commit 6bbdfff

Browse files
authored
Merge pull request #47859 from brusale/clue-barrel-pr-rebase
TICL-barrel: run CLUE in the barrel calorimeters and first workflows
2 parents 474b71c + 939fcb4 commit 6bbdfff

File tree

120 files changed

+4223
-287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+4223
-287
lines changed

Configuration/EventContent/python/EventContent_cff.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,8 @@ def SwapKeepAndDrop(l):
700700
phase2_common.toModify(FEVTDEBUGHLTEventContent,
701701
outputCommands = FEVTDEBUGHLTEventContent.outputCommands+[
702702
'keep *_hltHGCalRecHit_*_*',
703-
'keep *_hltHgcalMergeLayerClusters_*_*',
703+
'keep *_hltMergeLayerClusters_*_*',
704+
'keep *_hltParticleFlowRecHit*_*_*',
704705
'keep *_hltEgammaGsfTracksL1Seeded_*_*',
705706
])
706707

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import FWCore.ParameterSet.Config as cms
2+
from .CE_E_Front_300um_cfi import generator
3+
4+
_pgunPSet = generator.PGunParameters
5+
6+
_pgunPSet.ControlledByEta = cms.bool(True)
7+
_pgunPSet.MinEta = cms.double(-1.479)
8+
_pgunPSet.MaxEta = cms.double(1.479)
9+
_pgunPSet.RMin = cms.double(128.5)
10+
_pgunPSet.RMax = cms.double(128.4)
11+
_pgunPSet.ZMin = cms.double(-230)
12+
_pgunPSet.ZMax = cms.double(230)
13+
14+
generator.PGunParameters = _pgunPSet
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
ticl_barrel = cms.Modifier()

Configuration/PyReleaseValidation/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ The offsets currently in use are:
6363
* 0.7561 HLT phase-2 timing menu Alpaka, trimmed tracking
6464
* 0.7562 HLT phase-2 timing menu Alpaka, trimmed tracking, single tracking iteration variant
6565
* 0.757: HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant
66+
* 0.758 HLT phase-2 timing menu ticl_barrel variant
6667
* 0.759: HLT phase-2 timing menu, with NANO:@Phase2HLT
6768
* 0.77: HLT phase-2 NGT Scouting menu
6869
* 0.771: HLT phase-2 NGT Scouting menu, with NANO:@NGTScouting
@@ -108,6 +109,8 @@ The offsets currently in use are:
108109
* 0.203: HGCAL TICLv5
109110
* 0.204: HGCAL superclustering : using Mustache in TICLv5
110111
* 0.205: HGCAL superclustering : using old PFCluster-based Mustache algorithm with TICLv5
112+
* 0.209: TICL barrel : run TICL in HGCAL and barrel calorimeters
113+
* 0.2091: TICL barrel with CaloParticles from PU enabled
111114
* 0.302: FastSim Run-3 trackingOnly validation
112115
* 0.303: FastSim Run-3 MB for mixing
113116
* 0.9001: Sonic Triton

Configuration/PyReleaseValidation/python/relval_Run4.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
numWFIB.extend([prefixDet+34.7561])# HLTTiming75e33, alpaka,phase2_hlt_vertexTrimming
7878
numWFIB.extend([prefixDet+34.7562])# HLTTiming75e33, alpaka,phase2_hlt_vertexTrimming,singleIterPatatrack
7979
numWFIB.extend([prefixDet+34.757]) # HLTTiming75e33, alpaka,singleIterPatatrack,trackingLST,seedingLST
80+
numWFIB.extend([prefixDet+34.758]) # HLTTiming75e33, ticl_barrel
8081
numWFIB.extend([prefixDet+34.759]) # HLTTiming75e33 + NANO
8182
numWFIB.extend([prefixDet+34.77]) # NGTScouting
8283
numWFIB.extend([prefixDet+34.771]) # NGTScouting + NANO

Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,68 @@ def condition(self, fragment, stepList, key, hasHarvest):
997997
upgradeWFs['CPfromPU'].step3 = {'--procModifiers': 'enableCPfromPU'}
998998
upgradeWFs['CPfromPU'].step4 = {'--procModifiers': 'enableCPfromPU'}
999999

1000+
class UpgradeWorkflow_ticl_barrel(UpgradeWorkflow):
1001+
def setup_(self, step, stepName, stepDict, k, properties):
1002+
if ('Digi' in step and 'NoHLT' not in step) or ('HLTOnly' in step):
1003+
stepDict[stepName][k] = merge([self.step2, stepDict[step][k]])
1004+
if 'RecoGlobal' in step:
1005+
stepDict[stepName][k] = merge([self.step3, stepDict[step][k]])
1006+
if 'HARVESTGlobal' in step:
1007+
stepDict[stepName][k] = merge([self.step4, stepDict[step][k]])
1008+
def condition(self, fragment, stepList, key, hasHarvest):
1009+
return ('CloseByPGun_Barrel') in fragment and ('Run4' in key)
1010+
1011+
upgradeWFs['ticl_barrel'] = UpgradeWorkflow_ticl_barrel(
1012+
steps = [
1013+
'HLTOnly',
1014+
'DigiTrigger',
1015+
'RecoGlobal',
1016+
'HARVESTGlobal'
1017+
],
1018+
PU = [
1019+
'HLTOnly',
1020+
'DigiTrigger',
1021+
'RecoGlobal',
1022+
'HARVESTGlobal'
1023+
],
1024+
suffix = '_ticl_barrel',
1025+
offset = 0.209,
1026+
)
1027+
upgradeWFs['ticl_barrel'].step2 = {'--procModifiers': 'ticl_barrel'}
1028+
upgradeWFs['ticl_barrel'].step3 = {'--procModifiers': 'ticl_barrel'}
1029+
upgradeWFs['ticl_barrel'].step4 = {'--procModifiers': 'ticl_barrel'}
1030+
1031+
class UpgradeWorkflow_ticl_barrel_CPfromPU(UpgradeWorkflow):
1032+
def setup_(self, step, stepName, stepDict, k, properties):
1033+
if ('Digi' in step and 'NoHLT' not in step) or ('HLTOnly' in step):
1034+
stepDict[stepName][k] = merge([self.step2, stepDict[step][k]])
1035+
if 'RecoGlobal' in step:
1036+
stepDict[stepName][k] = merge([self.step3, stepDict[step][k]])
1037+
if 'HARVESTGlobal' in step:
1038+
stepDict[stepName][k] = merge([self.step4, stepDict[step][k]])
1039+
def condition(self, fragment, stepList, key, hasHarvest):
1040+
return ('CloseByPGun_Barrel') in fragment and ('Run4' in key) and ('PU' in key)
1041+
1042+
upgradeWFs['ticl_barrel_CPfromPU'] = UpgradeWorkflow_ticl_barrel_CPfromPU(
1043+
steps = [
1044+
'HLTOnly',
1045+
'DigiTrigger',
1046+
'RecoGlobal',
1047+
'HARVESTGlobal'
1048+
],
1049+
PU = [
1050+
'HLTOnly',
1051+
'DigiTrigger',
1052+
'RecoGlobal',
1053+
'HARVESTGlobal'
1054+
],
1055+
suffix = '_ticl_barrel_CPfromPU',
1056+
offset = 0.2091,
1057+
)
1058+
upgradeWFs['ticl_barrel_CPfromPU'].step2 = {'--procModifiers': 'ticl_barrel,enableCPfromPU'}
1059+
upgradeWFs['ticl_barrel_CPfromPU'].step3 = {'--procModifiers': 'ticl_barrel,enableCPfromPU'}
1060+
upgradeWFs['ticl_barrel_CPfromPU'].step4 = {'--procModifiers': 'ticl_barrel,enableCPfromPU'}
1061+
10001062
# L3 Tracker Muon Outside-In reconstruction first
10011063
class UpgradeWorkflow_phase2L3MuonsOIFirst(UpgradeWorkflow):
10021064
def setup_(self, step, stepName, stepDict, k, properties):
@@ -1923,6 +1985,19 @@ def condition(self, fragment, stepList, key, hasHarvest):
19231985
'-s':'HARVESTING:@hltValidation'
19241986
}
19251987

1988+
upgradeWFs['HLTTiming75e33TiclBarrel'] = deepcopy(upgradeWFs['HLTTiming75e33'])
1989+
upgradeWFs['HLTTiming75e33TiclBarrel'].suffix = '_HLT75e33TimingTiclBarrel'
1990+
upgradeWFs['HLTTiming75e33TiclBarrel'].offset = 0.758
1991+
upgradeWFs['HLTTiming75e33TiclBarrel'].step2 = {
1992+
'-s' : 'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation',
1993+
'--procModifiers': 'ticl_barrel',
1994+
'--datatier':'GEN-SIM-DIGI-RAW,DQMIO',
1995+
'--eventcontent':'FEVTDEBUGHLT,DQMIO'
1996+
}
1997+
upgradeWFs['HLTTiming75e33TiclBarrel'].step3 = {
1998+
'-s':'HARVESTING:@hltValidation'
1999+
}
2000+
19262001
class UpgradeWorkflow_HLTPhase2_WithNano(UpgradeWorkflow):
19272002
def setup_(self, step, stepName, stepDict, k, properties):
19282003
# skip RECO, ALCA and HLT
@@ -3804,4 +3879,5 @@ def __init__(self, howMuch, dataset):
38043879
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5362GeV')),
38053880
('Hydjet_Quenched_MinBias_5519GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5519GeV')),
38063881
('SingleMuPt15Eta0_0p4_cfi', UpgradeFragment(Kby(9,100),'SingleMuPt15Eta0p_0p4')),
3882+
('CloseByPGun_Barrel_Front_cfi', UpgradeFragment(Kby(9,100),'CloseByPGun_Barrel_Front')),
38073883
])

Configuration/PyReleaseValidation/scripts/runTheMatrix.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,9 @@ def runSelected(opt):
161161
29634.756, # HLT phase-2 timing menu trimmed tracking
162162
29634.7561, # HLT phase-2 timing menu Alpaka, trimmed tracking
163163
29634.7562, # HLT phase-2 timing menu Alpaka, trimmed tracking, single tracking iteration variant
164-
29634.757, # HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant
165-
29634.759, # HLT phase-2 timing menu, with NANO:@Phase2HLT
164+
29634.757, # HLT phase-2 timing menu, with NANO:@Phase2HLT
165+
29634.758, # HLT phase-2 timing menu ticl_barrel variant
166+
29634.759, # HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant
166167
29634.77, # HLT phase-2 NGT Scouting menu
167168
29634.771, # HLT phase-2 NGT Scouting menu, with NANO:@NGTScouting
168169
29634.772] # HLT phase-2 NGT Scouting menu, with NANO:@NGTScoutingVal

DataFormats/CaloRecHit/interface/CaloCluster.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ namespace reco {
4141
hgcal_had = 7,
4242
hgcal_scintillator = 8,
4343
hfnose = 9,
44+
barrel_em = 10,
45+
barrel_had = 11,
4446
undefined = 1000
4547
};
4648

DataFormats/HGCalReco/interface/Common.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ namespace ticl {
2828
static constexpr int nBins = nEtaBins * nPhiBins;
2929
};
3030

31+
struct TileConstantsBarrel {
32+
static constexpr float minEta = -1.5f;
33+
static constexpr float maxEta = 1.5f;
34+
static constexpr int nEtaBins = 68;
35+
static constexpr int nPhiBins = 36;
36+
static constexpr int nLayers = 5;
37+
static constexpr int iterations = 1;
38+
static constexpr int nBins = nEtaBins * nPhiBins;
39+
};
40+
3141
} // namespace ticl
3242

3343
namespace ticl {

DataFormats/HGCalReco/interface/TICLLayerTile.h

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ class TICLLayerTileT {
1818
constexpr float etaRange = T::maxEta - T::minEta;
1919
static_assert(etaRange >= 0.f);
2020
float r = T::nEtaBins / etaRange;
21-
int etaBin = (std::abs(eta) - T::minEta) * r;
21+
int etaBin;
22+
if constexpr (std::is_same_v<T, ticl::TileConstantsBarrel>)
23+
etaBin = (eta - T::minEta) * r;
24+
else
25+
etaBin = (std::abs(eta) - T::minEta) * r;
2226
etaBin = std::clamp(etaBin, 0, T::nEtaBins - 1);
2327
return etaBin;
2428
}
@@ -34,8 +38,10 @@ class TICLLayerTileT {
3438
std::array<int, 4> searchBoxEtaPhi(float etaMin, float etaMax, float phiMin, float phiMax) const {
3539
// The tile only handles one endcap at a time and does not hold mixed eta
3640
// values.
37-
if (etaMin * etaMax < 0) {
38-
return std::array<int, 4>({{0, 0, 0, 0}});
41+
if (!std::is_same_v<T, ticl::TileConstantsBarrel>) {
42+
if (etaMin * etaMax < 0) {
43+
return std::array<int, 4>({{0, 0, 0, 0}});
44+
}
3945
}
4046
if (etaMax - etaMin < 0) {
4147
return std::array<int, 4>({{0, 0, 0, 0}});
@@ -83,6 +89,9 @@ namespace ticl {
8389
using TilesHFNose = std::array<TICLLayerTileHFNose, TileConstantsHFNose::nLayers>;
8490
using TracksterTilesHFNose = std::array<TICLLayerTileHFNose, TileConstantsHFNose::iterations>;
8591

92+
using TICLLayerTileBarrel = TICLLayerTileT<TileConstantsBarrel>;
93+
using TilesBarrel = std::array<TICLLayerTileBarrel, TileConstantsBarrel::nLayers>;
94+
using TracksterTilesBarrel = std::array<TICLLayerTileBarrel, TileConstantsBarrel::iterations>;
8695
} // namespace ticl
8796

8897
template <typename T>
@@ -104,5 +113,7 @@ using TICLLayerTiles = TICLGenericTile<ticl::Tiles>;
104113
using TICLTracksterTiles = TICLGenericTile<ticl::TracksterTiles>;
105114
using TICLLayerTilesHFNose = TICLGenericTile<ticl::TilesHFNose>;
106115
using TICLTracksterTilesHFNose = TICLGenericTile<ticl::TracksterTilesHFNose>;
116+
using TICLLayerTilesBarrel = TICLGenericTile<ticl::TilesBarrel>;
117+
using TICLTracksterTilesBarrel = TICLGenericTile<ticl::TracksterTilesBarrel>;
107118

108119
#endif

0 commit comments

Comments
 (0)