Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14_0_X] Update btag from DeepCSV to ParticleNet for BTV DQM #45164

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 83 additions & 74 deletions DQMOffline/Trigger/plugins/BTVHLTOfflineSource.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,28 +86,21 @@ class BTVHLTOfflineSource : public DQMEDAnalyzer {
float turnon_threshold_tight_;

edm::EDGetTokenT<reco::JetTagCollection> offlineDiscrTokenb_;
edm::EDGetTokenT<reco::JetTagCollection> offlineDiscrTokenbb_;
edm::EDGetTokenT<edm::View<reco::BaseTagInfo>> offlineIPToken_;

edm::EDGetTokenT<std::vector<reco::Vertex>> hltFastPVToken_;
edm::EDGetTokenT<std::vector<reco::Vertex>> hltPFPVToken_;
edm::EDGetTokenT<std::vector<reco::Vertex>> hltCaloPVToken_;
edm::EDGetTokenT<std::vector<reco::Vertex>> offlinePVToken_;

edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken;
edm::EDGetTokenT<edm::TriggerResults> triggerResultsFUToken;
edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryToken;
edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryFUToken;

edm::EDGetTokenT<std::vector<reco::ShallowTagInfo>> shallowTagInfosTokenCalo_;
edm::EDGetTokenT<std::vector<reco::ShallowTagInfo>> shallowTagInfosTokenPf_;

edm::EDGetTokenT<std::vector<reco::SecondaryVertexTagInfo>> SVTagInfosTokenCalo_;
edm::EDGetTokenT<std::vector<SVTagInfo>> SVTagInfosTokenPf_;

edm::EDGetTokenT<reco::JetTagCollection> caloTagsToken_;
edm::EDGetTokenT<reco::JetTagCollection> pfTagsToken_;
edm::Handle<reco::JetTagCollection> caloTags;
edm::Handle<reco::JetTagCollection> pfTags;

float minDecayLength_;
Expand Down Expand Up @@ -161,6 +154,15 @@ class BTVHLTOfflineSource : public DQMEDAnalyzer {
ObjME Discr_turnon_loose;
ObjME Discr_turnon_medium;
ObjME Discr_turnon_tight;
ObjME Pt_turnon_loose;
ObjME Pt_turnon_medium;
ObjME Pt_turnon_tight;
ObjME Eta_turnon_loose;
ObjME Eta_turnon_medium;
ObjME Eta_turnon_tight;
ObjME Phi_turnon_loose;
ObjME Phi_turnon_medium;
ObjME Phi_turnon_tight;
MonitorElement* PVz = nullptr;
MonitorElement* fastPVz = nullptr;
MonitorElement* PVz_HLTMinusRECO = nullptr;
Expand Down Expand Up @@ -247,28 +249,19 @@ BTVHLTOfflineSource::BTVHLTOfflineSource(const edm::ParameterSet& iConfig)
turnon_threshold_medium_(iConfig.getParameter<double>("turnon_threshold_medium")),
turnon_threshold_tight_(iConfig.getParameter<double>("turnon_threshold_tight")),
offlineDiscrTokenb_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("offlineDiscrLabelb"))),
offlineDiscrTokenbb_(
consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("offlineDiscrLabelbb"))),
offlineIPToken_(consumes<View<BaseTagInfo>>(iConfig.getParameter<edm::InputTag>("offlineIPLabel"))),

hltFastPVToken_(consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("hltFastPVLabel"))),
hltPFPVToken_(consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("hltPFPVLabel"))),
hltCaloPVToken_(consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("hltCaloPVLabel"))),
offlinePVToken_(consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("offlinePVLabel"))),
triggerResultsToken(consumes<edm::TriggerResults>(triggerResultsLabel_)),
triggerResultsFUToken(consumes<edm::TriggerResults>(
edm::InputTag(triggerResultsLabel_.label(), triggerResultsLabel_.instance(), std::string("FU")))),
triggerSummaryToken(consumes<trigger::TriggerEvent>(triggerSummaryLabel_)),
triggerSummaryFUToken(consumes<trigger::TriggerEvent>(
edm::InputTag(triggerSummaryLabel_.label(), triggerSummaryLabel_.instance(), std::string("FU")))),
shallowTagInfosTokenCalo_(
consumes<vector<reco::ShallowTagInfo>>(edm::InputTag("hltDeepCombinedSecondaryVertexBJetTagsInfosCalo"))),
shallowTagInfosTokenPf_(
consumes<vector<reco::ShallowTagInfo>>(edm::InputTag("hltDeepCombinedSecondaryVertexBJetTagsInfos"))),
SVTagInfosTokenCalo_(consumes<std::vector<reco::SecondaryVertexTagInfo>>(
edm::InputTag("hltInclusiveSecondaryVertexFinderTagInfos"))),
SVTagInfosTokenPf_(consumes<std::vector<SVTagInfo>>(edm::InputTag("hltDeepSecondaryVertexTagInfosPF"))),
caloTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("onlineDiscrLabelCalo"))),
pfTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("onlineDiscrLabelPF"))),
minDecayLength_(iConfig.getParameter<double>("minDecayLength")),
maxDecayLength_(iConfig.getParameter<double>("maxDecayLength")),
Expand Down Expand Up @@ -324,9 +317,6 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
}
}

edm::Handle<reco::JetTagCollection> caloTags;
iEvent.getByToken(caloTagsToken_, caloTags);

edm::Handle<reco::JetTagCollection> pfTags;
iEvent.getByToken(pfTagsToken_, pfTags);

Expand All @@ -335,9 +325,6 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
Handle<reco::JetTagCollection> offlineJetTagHandlerb;
iEvent.getByToken(offlineDiscrTokenb_, offlineJetTagHandlerb);

Handle<reco::JetTagCollection> offlineJetTagHandlerbb;
iEvent.getByToken(offlineDiscrTokenbb_, offlineJetTagHandlerbb);

Handle<View<BaseTagInfo>> offlineIPTagHandle;
iEvent.getByToken(offlineIPToken_, offlineIPTagHandle);

Expand All @@ -352,7 +339,6 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
return;

edm::Handle<std::vector<SVTagInfo>> jetSVTagsCollPF;
edm::Handle<std::vector<reco::SecondaryVertexTagInfo>> jetSVTagsCollCalo;

for (auto& v : hltPathsAll_) {
unsigned index = triggerNames.triggerIndex(v.getPath());
Expand All @@ -366,16 +352,11 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
continue;
}

if (v.getTriggerType() == "PF") {
iEvent.getByToken(SVTagInfosTokenPf_, jetSVTagsCollPF);
} else {
iEvent.getByToken(SVTagInfosTokenCalo_, jetSVTagsCollCalo);
}
iEvent.getByToken(SVTagInfosTokenPf_, jetSVTagsCollPF);

// PF and Calo btagging
if ((v.getTriggerType() == "PF" && pfTags.isValid()) ||
(v.getTriggerType() == "Calo" && caloTags.isValid() && !caloTags->empty())) {
const auto& iter = (v.getTriggerType() == "PF") ? pfTags->begin() : caloTags->begin();
if (v.getTriggerType() == "PF" && pfTags.isValid()) {
const auto& iter = pfTags->begin();

float Discr_online = iter->second;
if (Discr_online < 0)
Expand All @@ -390,18 +371,9 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
float DR = reco::deltaR(iterOffb.first->eta(), iterOffb.first->phi(), iter->first->eta(), iter->first->phi());
if (DR < 0.3) {
float Discr_offline = iterOffb.second;

// offline probb and probbb must be added (if probbb isn't specified, it'll just use probb)
if (offlineJetTagHandlerbb.isValid()) {
for (auto const& iterOffbb : *offlineJetTagHandlerbb) {
DR = reco::deltaR(
iterOffbb.first->eta(), iterOffbb.first->phi(), iter->first->eta(), iter->first->phi());
if (DR < 0.3) {
Discr_offline += iterOffbb.second;
break;
}
}
}
float Pt_offline = iterOffb.first->pt();
float Eta_offline = iterOffb.first->eta();
float Phi_offline = iterOffb.first->phi();

if (Discr_offline < 0)
Discr_offline = -0.05;
Expand All @@ -412,21 +384,44 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
v.Discr_turnon_medium.denominator->Fill(Discr_offline);
v.Discr_turnon_tight.denominator->Fill(Discr_offline);

if (Discr_online > turnon_threshold_loose_)
v.Pt_turnon_loose.denominator->Fill(Pt_offline);
v.Pt_turnon_medium.denominator->Fill(Pt_offline);
v.Pt_turnon_tight.denominator->Fill(Pt_offline);

v.Eta_turnon_loose.denominator->Fill(Eta_offline);
v.Eta_turnon_medium.denominator->Fill(Eta_offline);
v.Eta_turnon_tight.denominator->Fill(Eta_offline);

v.Phi_turnon_loose.denominator->Fill(Phi_offline);
v.Phi_turnon_medium.denominator->Fill(Phi_offline);
v.Phi_turnon_tight.denominator->Fill(Phi_offline);

if (Discr_online > turnon_threshold_loose_) {
v.Discr_turnon_loose.numerator->Fill(Discr_offline);
if (Discr_online > turnon_threshold_medium_)
v.Pt_turnon_loose.numerator->Fill(Pt_offline);
v.Eta_turnon_loose.numerator->Fill(Eta_offline);
v.Phi_turnon_loose.numerator->Fill(Phi_offline);
}
if (Discr_online > turnon_threshold_medium_) {
v.Discr_turnon_medium.numerator->Fill(Discr_offline);
if (Discr_online > turnon_threshold_tight_)
v.Pt_turnon_medium.numerator->Fill(Pt_offline);
v.Eta_turnon_medium.numerator->Fill(Eta_offline);
v.Phi_turnon_medium.numerator->Fill(Phi_offline);
}
if (Discr_online > turnon_threshold_tight_) {
v.Discr_turnon_tight.numerator->Fill(Discr_offline);
v.Pt_turnon_tight.numerator->Fill(Pt_offline);
v.Eta_turnon_tight.numerator->Fill(Eta_offline);
v.Phi_turnon_tight.numerator->Fill(Phi_offline);
}

break;
}
}
} ///offline

bool pfSVTagCollValid = (v.getTriggerType() == "PF" && jetSVTagsCollPF.isValid());
bool caloSVTagCollValid = (v.getTriggerType() == "Calo" && jetSVTagsCollCalo.isValid());
if (offlineIPTagHandle.isValid() && (pfSVTagCollValid || caloSVTagCollValid)) {
if (offlineIPTagHandle.isValid() && pfSVTagCollValid) {
std::vector<float> offlineIP3D;
std::vector<float> offlineIP3DSig;
std::vector<const reco::Track*> offlineTracks = getOfflineBTagTracks(
Expand All @@ -437,9 +432,6 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
if (pfSVTagCollValid)
onlineTracks = getOnlineBTagTracks<SVTagInfo>(
iter->first->eta(), iter->first->phi(), jetSVTagsCollPF, onlineIP3D, onlineIP3DSig);
if (caloSVTagCollValid)
onlineTracks = getOnlineBTagTracks<reco::SecondaryVertexTagInfo>(
iter->first->eta(), iter->first->phi(), jetSVTagsCollCalo, onlineIP3D, onlineIP3DSig);

for (unsigned int iOffTrk = 0; iOffTrk < offlineTracks.size(); ++iOffTrk) {
const reco::Track* offTrk = offlineTracks.at(iOffTrk);
Expand Down Expand Up @@ -504,36 +496,18 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
}
}

if (v.getTriggerType() == "PF") {
iEvent.getByToken(hltPFPVToken_, VertexHandler);
} else {
iEvent.getByToken(hltFastPVToken_, VertexHandler);
}
iEvent.getByToken(hltPFPVToken_, VertexHandler);
if (VertexHandler.isValid()) {
v.PVz->Fill(VertexHandler->begin()->z());
if (offlineVertexHandler.isValid()) {
v.PVz_HLTMinusRECO->Fill(VertexHandler->begin()->z() - offlineVertexHandler->begin()->z());
}
}
} // caloTagsValid or PFTagsValid

// specific to Calo b-tagging
if (caloTags.isValid() && v.getTriggerType() == "Calo" && !caloTags->empty()) {
iEvent.getByToken(hltCaloPVToken_, VertexHandler);
if (VertexHandler.isValid()) {
v.fastPVz->Fill(VertexHandler->begin()->z());
if (offlineVertexHandler.isValid()) {
v.fastPVz_HLTMinusRECO->Fill(VertexHandler->begin()->z() - offlineVertexHandler->begin()->z());
}
}
}
} // PFTagsValid

// additional plots from tag info collections
/////////////////////////////////////////////

edm::Handle<std::vector<reco::ShallowTagInfo>> shallowTagInfosCalo;
iEvent.getByToken(shallowTagInfosTokenCalo_, shallowTagInfosCalo);

edm::Handle<std::vector<reco::ShallowTagInfo>> shallowTagInfosPf;
iEvent.getByToken(shallowTagInfosTokenPf_, shallowTagInfosPf);

Expand All @@ -544,9 +518,8 @@ void BTVHLTOfflineSource::analyze(const edm::Event& iEvent, const edm::EventSetu
// iEvent.getByToken(pfTagInfosToken_, pfTagInfos);

// first try to get info from shallowTagInfos ...
if ((v.getTriggerType() == "PF" && shallowTagInfosPf.isValid()) ||
(v.getTriggerType() == "Calo" && shallowTagInfosCalo.isValid())) {
const auto& shallowTagInfoCollection = (v.getTriggerType() == "PF") ? shallowTagInfosPf : shallowTagInfosCalo;
if (v.getTriggerType() == "PF" && shallowTagInfosPf.isValid()) {
const auto& shallowTagInfoCollection = shallowTagInfosPf;
for (const auto& shallowTagInfo : *shallowTagInfoCollection) {
const auto& tagVars = shallowTagInfo.taggingVariables();

Expand Down Expand Up @@ -851,6 +824,42 @@ void BTVHLTOfflineSource::bookHistograms(DQMStore::IBooker& iBooker, edm::Run co
title = "turn-on with tight threshold " + trigPath;
v.bookME(iBooker, v.Discr_turnon_tight, histoname, title, 22, -0.1, 1.);

histoname = "Turnon_loose_Pt";
title = "turn-on with loose threshold " + trigPath;
v.bookME(iBooker, v.Pt_turnon_loose, histoname, title, 50, 0., 500.);

histoname = "Turnon_medium_Pt";
title = "turn-on with medium threshold " + trigPath;
v.bookME(iBooker, v.Pt_turnon_medium, histoname, title, 50, 0., 500.);

histoname = "Turnon_tight_Pt";
title = "turn-on with tight threshold " + trigPath;
v.bookME(iBooker, v.Pt_turnon_tight, histoname, title, 50, 0., 500.);

histoname = "Turnon_loose_Eta";
title = "turn-on with loose threshold " + trigPath;
v.bookME(iBooker, v.Eta_turnon_loose, histoname, title, 60, -3., 3.);

histoname = "Turnon_medium_Eta";
title = "turn-on with medium threshold " + trigPath;
v.bookME(iBooker, v.Eta_turnon_medium, histoname, title, 60, -3., 3.);

histoname = "Turnon_tight_Eta";
title = "turn-on with tight threshold " + trigPath;
v.bookME(iBooker, v.Eta_turnon_tight, histoname, title, 60, -3., 3.);

histoname = "Turnon_loose_Phi";
title = "turn-on with loose threshold " + trigPath;
v.bookME(iBooker, v.Phi_turnon_loose, histoname, title, 60, -3., 3.);

histoname = "Turnon_medium_Phi";
title = "turn-on with medium threshold " + trigPath;
v.bookME(iBooker, v.Phi_turnon_medium, histoname, title, 60, -3., 3.);

histoname = "Turnon_tight_Phi";
title = "turn-on with tight threshold " + trigPath;
v.bookME(iBooker, v.Phi_turnon_tight, histoname, title, 60, -3., 3.);

histoname = labelname + "_PVz";
title = "online z(PV) " + trigPath;
v.PVz = iBooker.book1D(histoname.c_str(), title.c_str(), 80, -20, 20);
Expand Down
6 changes: 3 additions & 3 deletions DQMOffline/Trigger/plugins/BTagAndProbe.cc
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ void BTagAndProbe::analyze(edm::Event const& iEvent, edm::EventSetup const& iSet
edm::Handle<std::vector<reco::ShallowTagInfo> > shallowTagInfos;
iEvent.getByToken(shallowTagInfosToken_, shallowTagInfos);
if (!shallowTagInfos.isValid()) {
edm::LogWarning("BTagAndProbe") << "shallow tag handle not valid, will skip event \n";
//edm::LogWarning("BTagAndProbe") << "shallow tag handle not valid, will skip event \n";
return;
}

Expand Down Expand Up @@ -1100,8 +1100,8 @@ void BTagAndProbe::fillDescriptions(edm::ConfigurationDescriptions& descriptions
desc.add<edm::InputTag>("electrons", edm::InputTag("gedGsfElectrons"));
desc.add<edm::InputTag>("elecID",
edm::InputTag("egmGsfElectronIDsForDQM:cutBasedElectronID-RunIIIWinter22-V1-tight"));
desc.add<std::vector<edm::InputTag> >(
"btagAlgos", {edm::InputTag("pfDeepCSVJetTags:probb"), edm::InputTag("pfDeepCSVJetTags:probbb")});
desc.add<std::vector<edm::InputTag> >("btagAlgos",
{edm::InputTag("pfParticleNetAK4DiscriminatorsJetTagsForRECO:BvsAll")});

desc.add<std::string>("jetSelection", "pt > 30");
desc.add<std::string>("eleSelection", "pt > 0 && abs(eta) < 2.5");
Expand Down
30 changes: 8 additions & 22 deletions DQMOffline/Trigger/python/BTVHLTOfflineSource_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,14 @@

triggerSummaryLabel = cms.InputTag("hltTriggerSummaryAOD", "", "HLT"),
triggerResultsLabel = cms.InputTag("TriggerResults", "", "HLT"),
onlineDiscrLabelPF = cms.InputTag("hltDeepCombinedSecondaryVertexBJetTagsPF", "probb"),
onlineDiscrLabelCalo = cms.InputTag("hltDeepCombinedSecondaryVertexBJetTagsCalo", "probb"),
offlineDiscrLabelb = cms.InputTag("pfDeepCSVJetTags", "probb"),
offlineDiscrLabelbb = cms.InputTag("pfDeepCSVJetTags", "probbb"),
hltFastPVLabel = cms.InputTag("hltFastPrimaryVertex"),
onlineDiscrLabelPF = cms.InputTag("hltParticleNetDiscriminatorsJetTags", "BvsAll"),
offlineDiscrLabelb = cms.InputTag("pfParticleNetAK4DiscriminatorsJetTagsForRECO", "BvsAll"),
hltPFPVLabel = cms.InputTag("hltVerticesPFSelector"),
hltCaloPVLabel = cms.InputTag("hltVerticesL3"),
offlinePVLabel = cms.InputTag("offlinePrimaryVertices"),
offlineIPLabel = cms.InputTag("pfImpactParameterTagInfos"),
turnon_threshold_loose = cms.double(0.2),
turnon_threshold_medium = cms.double(0.5),
turnon_threshold_tight = cms.double(0.8),
turnon_threshold_loose = cms.double(0.03),
turnon_threshold_medium = cms.double(0.2),
turnon_threshold_tight = cms.double(0.6),
minDecayLength = cms.double(-9999.0),
maxDecayLength = cms.double(5.0),
minJetDistance = cms.double(0.0),
Expand All @@ -31,13 +27,9 @@
pathPairs = cms.VPSet(

cms.PSet(
pathname = cms.string("HLT_Mu12_DoublePFJets40_PFBTagDeepCSV_p71_v"),
pathname = cms.string("HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v"),
pathtype = cms.string("PF")
),
cms.PSet(
pathname = cms.string("HLT_Mu12_DoublePFJets40MaxDeta1p6_DoublePFBTagDeepCSV_p71_v"),
pathtype = cms.string("Calo")
),
),
)

Expand All @@ -57,20 +49,14 @@
referenceTrack = "referenceTracksForHLTBTag",
monitoredBeamSpot = "hltOnlineBeamSpot",
referenceBeamSpot = "offlineBeamSpot",
topDirName = "HLT/BTV/HLT_Mu12_DoublePFJets40_PFBTagDeepCSV_p71PF",
topDirName = "HLT/BTV/HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30PF",
referencePrimaryVertices = "offlinePrimaryVertices",
monitoredPrimaryVertices = "hltVerticesPFSelector",
genericTriggerEventPSet = dict(hltPaths = ["HLT_Mu12_DoublePFJets40_PFBTagDeepCSV_p71*"])
)

bTagHLTTrackMonitoring_muPF2 = bTagHLTTrackMonitoring_muPF1.clone(
topDirName = "HLT/BTV/HLT_Mu12_DoublePFJets40MaxDeta1p6_DoublePFBTagDeepCSV_p71PF",
genericTriggerEventPSet = dict(hltPaths = ["HLT_Mu12_DoublePFJets40MaxDeta1p6_DoublePFBTagDeepCSV_p71*"])
genericTriggerEventPSet = dict(hltPaths = ["HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v*"])
)

bTagHLTTrackMonitoringSequence = cms.Sequence(
cms.ignore(referenceTracksForHLTBTag)
+ bTagHLTTrackMonitoring_muPF1
+ bTagHLTTrackMonitoring_muPF2
)

4 changes: 2 additions & 2 deletions DQMOffline/Trigger/python/BTagAndProbeMonitor_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
muons = "muons", # while pfIsolatedMuonsEI are reco::PFCandidate !
vertices = "offlinePrimaryVertices",

btagAlgos = ['pfDeepCSVJetTags:probb', 'pfDeepCSVJetTags:probbb'],
workingpoint = 0.8484, # Medium wp
btagAlgos = ['pfParticleNetAK4DiscriminatorsJetTagsForRECO:BvsAll'],
workingpoint = 0.2, # Medium wp
leptJetDeltaRmin = 0.4,
bJetDeltaEtaMax = 9999.,

Expand Down
Loading