Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 81b3967
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Wed Jan 24 17:49:02 2024 +0100

    const in TOFPIDProducer

commit 6b63e89
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Tue Jan 23 17:35:59 2024 +0100

    fix modifiers config in OfflinePrimaryVertices_cfi

commit 294dd86
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Tue Jan 23 14:28:11 2024 +0100

    update configurations OfflineValidation and HI

commit 4bdf453
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Mon Jan 22 17:31:22 2024 +0100

    update config for phase2

commit 7a7f05f
Author: Fabio Cossutti <fabio.cossutti@ts.infn.it>
Date:   Sun Jan 21 18:52:18 2024 +0100

    Remove duplication of PV configuration: use master fillDescription, remove TkClusParameters_cff, fix filters

commit 6615820
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Wed Jan 17 15:18:49 2024 +0100

    address Slava's comments

commit 3fae2e1
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Tue Jan 9 17:41:11 2024 +0100

    code style/format

commit f0e6cba
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Mon Jan 8 16:21:35 2024 +0100

    code update from werdmann to address comments on PR

commit 7f8837d
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Thu Dec 21 16:17:27 2023 +0100

    move defaultInvalidTrackTimeReso const to TransientTrackBuilder header, fix verbosity PrimaryVertexProducer, minor style changes

commit 537ba5e
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Tue Dec 19 17:16:07 2023 +0100

    re-add HI parameters, fix const values, add missing headers

commit cbb9c82
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Mon Dec 18 17:20:51 2023 +0100

    update primary vertex fitters + code-format

commit 5b725f6
Author: kdeleo <kseniadeleo@gmail.com>
Date:   Mon Nov 27 12:11:12 2023 +0100

    RecoVertex & RecoMTD: remove first iteration of 4D and use 3D with timing, update tofPIDProducer, update 4D time calculation

commit 1be4692
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Wed Apr 5 18:34:07 2023 +0200

    add missing vertex selection

commit 2869866
Author: Marino Missiroli <marino.missiroli@cern.ch>
Date:   Wed Mar 29 21:07:22 2023 +0200

    re-added PrimaryVertexProducerAlgorithm

commit 75efeb3
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Thu Mar 30 09:05:31 2023 +0200

    remove cputime measurement

commit 14bd615
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Tue Mar 28 14:33:12 2023 +0200

    reduce verbosity

commit e5edf2a
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Tue Mar 28 09:37:05 2023 +0200

    remove obsolete include of DAClusterizerInz.h

commit a7aebf7
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Tue Mar 28 09:05:28 2023 +0200

    remove unnecessary class

commit 34ee26d
Author: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Date:   Tue Mar 28 09:03:54 2023 +0200

    get back accidentally overwritten configs from 13_1_0_pre1

commit 1a9d7ff
Author: Marino Missiroli <marino.missiroli@cern.ch>
Date:   Mon Mar 27 19:40:04 2023 +0200

    add override keyword to ::vertices in derived classes (DAClusterizerInZT_vect, GapClusterizerInZ)

commit d236ffe
Author: Marino Missiroli <marino.missiroli@cern.ch>
Date:   Mon Mar 27 19:10:34 2023 +0200

    code-checks && code-format

commit dff646d
Author: Marino Missiroli <marino.missiroli@cern.ch>
Date:   Mon Mar 27 18:56:31 2023 +0200

    silence unused-variable warning (Zcutoff)

commit 7ebb5ef
Author: Marino Missiroli <marino.missiroli@cern.ch>
Date:   Mon Mar 27 18:24:27 2023 +0200

    rebase of werdmann:revised-primaryvertexproducer on top of 13_1_0_pre1

Co-authored-by: Fabio Cossutti <fabio.cossutti@ts.infn.it>
Co-authored-by: Marino Missiroli <marino.missiroli@cern.ch>
Co-authored-by: Wolfram Erdmann <wolfram.erdmann@psi.ch>
Co-authored-by: kdeleo <kseniadeleo@gmail.com>
  • Loading branch information
5 people committed Jan 26, 2024
1 parent 9fca027 commit aac6c7d
Show file tree
Hide file tree
Showing 43 changed files with 1,696 additions and 1,266 deletions.
12 changes: 4 additions & 8 deletions Alignment/OfflineValidation/plugins/PrimaryVertexValidation.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@
#include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyMap.h"
#include "Geometry/Records/interface/TrackerTopologyRcd.h"
#include "RecoVertex/PrimaryVertexProducer/interface/TrackFilterForPVFinding.h"
#include "RecoVertex/PrimaryVertexProducer/interface/HITrackFilterForPVFinding.h"
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ_vect.h"
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ.h"
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZT_vect.h"
#include "RecoVertex/PrimaryVertexProducer/interface/GapClusterizerInZ.h"
#include "RecoVertex/VertexPrimitives/interface/TransientVertex.h"
#include "TrackingTools/TransientTrack/interface/TransientTrack.h"
Expand Down Expand Up @@ -120,11 +121,6 @@ PrimaryVertexValidation::PrimaryVertexValidation(const edm::ParameterSet& iConfi
theTrackClusterizer_ =
std::make_unique<GapClusterizerInZ>(iConfig.getParameter<edm::ParameterSet>("TkClusParameters")
.getParameter<edm::ParameterSet>("TkGapClusParameters"));
} else if (clusteringAlgorithm == "DA") {
theTrackClusterizer_ =
std::make_unique<DAClusterizerInZ>(iConfig.getParameter<edm::ParameterSet>("TkClusParameters")
.getParameter<edm::ParameterSet>("TkDAClusParameters"));
// provide the vectorized version of the clusterizer, if supported by the build
} else if (clusteringAlgorithm == "DA_vect") {
theTrackClusterizer_ =
std::make_unique<DAClusterizerInZ_vect>(iConfig.getParameter<edm::ParameterSet>("TkClusParameters")
Expand Down Expand Up @@ -3700,15 +3696,15 @@ void PrimaryVertexValidation::fillDescriptions(edm::ConfigurationDescriptions& d
// track filtering
edm::ParameterSetDescription psd0;
TrackFilterForPVFinding::fillPSetDescription(psd0);
psd0.add<int>("numTracksThreshold", 0); // HI only
HITrackFilterForPVFinding::fillPSetDescription(psd0); // HI only
desc.add<edm::ParameterSetDescription>("TkFilterParameters", psd0);

// PV Clusterization
{
edm::ParameterSetDescription psd0;
{
edm::ParameterSetDescription psd1;
DAClusterizerInZ_vect::fillPSetDescription(psd1);
DAClusterizerInZT_vect::fillPSetDescription(psd1);
psd0.add<edm::ParameterSetDescription>("TkDAClusParameters", psd1);

edm::ParameterSetDescription psd2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/test/PVValidation_TEMPL_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ def customiseKinksAndBows(process):
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/test/PVValidation_T_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ def customiseKinksAndBows(process):
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/test/testG4Refitter_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

####################################################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ class RefitType(Enum):
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/test/test_all_Phase2_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ class RefitType(Enum):
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/test/test_all_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ class RefitType(Enum):
)

## MM 04.05.2017 (use settings as in: https://github.com/cms-sw/cmssw/pull/18330)
from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import DA_vectParameters
DAClusterizationParams = DA_vectParameters.clone()

GapClusterizationParams = cms.PSet(algorithm = cms.string('gap'),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import FWCore.ParameterSet.Config as cms

# Modifier to enable the use of the MVA selection on
# tracks for the 4D vertex reco

vertex4DTrackSelMVA = cms.Modifier()
54 changes: 43 additions & 11 deletions RecoMTD/TimingIDTools/plugins/TOFPIDProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,18 @@ class TOFPIDProducer : public edm::stream::EDProducer<> {
edm::EDGetTokenT<edm::ValueMap<float>> tofkToken_;
edm::EDGetTokenT<edm::ValueMap<float>> tofpToken_;
edm::EDGetTokenT<reco::VertexCollection> vtxsToken_;
double vtxMaxSigmaT_;
double maxDz_;
double maxDtSignificance_;
double minProbHeavy_;
double fixedT0Error_;
edm::EDGetTokenT<edm::ValueMap<float>> trackMTDTimeQualityToken_;
const double vtxMaxSigmaT_;
const double maxDz_;
const double maxDtSignificance_;
const double minProbHeavy_;
const double fixedT0Error_;
const double probPion_;
const double probKaon_;
const double probProton_;
const double minTrackTimeQuality_;
const bool MVASel_;
const bool vertexReassignment_;
};

TOFPIDProducer::TOFPIDProducer(const ParameterSet& iConfig)
Expand All @@ -65,11 +72,19 @@ TOFPIDProducer::TOFPIDProducer(const ParameterSet& iConfig)
tofkToken_(consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("tofkSrc"))),
tofpToken_(consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("tofpSrc"))),
vtxsToken_(consumes<reco::VertexCollection>(iConfig.getParameter<edm::InputTag>("vtxsSrc"))),
trackMTDTimeQualityToken_(
consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("trackMTDTimeQualityVMapTag"))),
vtxMaxSigmaT_(iConfig.getParameter<double>("vtxMaxSigmaT")),
maxDz_(iConfig.getParameter<double>("maxDz")),
maxDtSignificance_(iConfig.getParameter<double>("maxDtSignificance")),
minProbHeavy_(iConfig.getParameter<double>("minProbHeavy")),
fixedT0Error_(iConfig.getParameter<double>("fixedT0Error")) {
fixedT0Error_(iConfig.getParameter<double>("fixedT0Error")),
probPion_(iConfig.getParameter<double>("probPion")),
probKaon_(iConfig.getParameter<double>("probKaon")),
probProton_(iConfig.getParameter<double>("probProton")),
minTrackTimeQuality_(iConfig.getParameter<double>("minTrackTimeQuality")),
MVASel_(iConfig.getParameter<bool>("MVASel")),
vertexReassignment_(iConfig.getParameter<bool>("vertexReassignment")) {
produces<edm::ValueMap<float>>(t0Name);
produces<edm::ValueMap<float>>(sigmat0Name);
produces<edm::ValueMap<float>>(t0safeName);
Expand Down Expand Up @@ -97,6 +112,8 @@ void TOFPIDProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptio
->setComment("Input ValueMap for track tof as proton");
desc.add<edm::InputTag>("vtxsSrc", edm::InputTag("unsortedOfflinePrimaryVertices4DwithPID"))
->setComment("Input primary vertex collection");
desc.add<edm::InputTag>("trackMTDTimeQualityVMapTag", edm::InputTag("mtdTrackQualityMVA:mtdQualMVA"))
->setComment("Track MVA quality value");
desc.add<double>("vtxMaxSigmaT", 0.025)
->setComment("Maximum primary vertex time uncertainty for use in particle id [ns]");
desc.add<double>("maxDz", 0.1)
Expand All @@ -107,6 +124,12 @@ void TOFPIDProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptio
desc.add<double>("minProbHeavy", 0.75)
->setComment("Minimum probability for a particle to be a kaon or proton before reassigning the timestamp");
desc.add<double>("fixedT0Error", 0.)->setComment("Use a fixed T0 uncertainty [ns]");
desc.add<double>("probPion", 1.)->setComment("A priori probability pions");
desc.add<double>("probKaon", 1.)->setComment("A priori probability kaons");
desc.add<double>("probProton", 1.)->setComment("A priori probability for protons");
desc.add<double>("minTrackTimeQuality", 0.8)->setComment("Minimum MVA Quality selection on tracks");
desc.add<bool>("MVASel", false)->setComment("Use MVA Quality selection");
desc.add<bool>("vertexReassignment", true)->setComment("Track-vertex reassignment");

descriptions.add("tofPIDProducer", desc);
}
Expand Down Expand Up @@ -142,6 +165,8 @@ void TOFPIDProducer::produce(edm::Event& ev, const edm::EventSetup& es) {

const auto& vtxs = ev.get(vtxsToken_);

const auto& trackMVAQualIn = ev.get(trackMTDTimeQualityToken_);

//output value maps (PID probabilities and recalculated time at beamline)
std::vector<float> t0OutRaw;
std::vector<float> sigmat0OutRaw;
Expand All @@ -165,7 +190,9 @@ void TOFPIDProducer::produce(edm::Event& ev, const edm::EventSetup& es) {
float prob_k = -1.;
float prob_p = -1.;

if (sigmat0 > 0.) {
float trackMVAQual = trackMVAQualIn[trackref];

if (sigmat0 > 0. && (!MVASel_ || (MVASel_ && trackMVAQual >= minTrackTimeQuality_))) {
double rsigmazsq = 1. / track.dzError() / track.dzError();
double rsigmat = 1. / sigmatmtd;

Expand Down Expand Up @@ -239,7 +266,12 @@ void TOFPIDProducer::produce(edm::Event& ev, const edm::EventSetup& es) {
double chisqmin_k = std::numeric_limits<double>::max();
double chisqmin_p = std::numeric_limits<double>::max();
//loop through vertices and check for better matches
for (const reco::Vertex& vtx : vtxs) {
for (unsigned int ivtx = 0; ivtx < vtxs.size(); ++ivtx) {
const reco::Vertex& vtx = vtxs[ivtx];
if (!vertexReassignment_) {
if (ivtx != (unsigned int)vtxidx)
continue;
}
if (!(vtx.tError() > 0. && vtx.tError() < vtxMaxSigmaT_)) {
continue;
}
Expand Down Expand Up @@ -283,9 +315,9 @@ void TOFPIDProducer::produce(edm::Event& ev, const edm::EventSetup& es) {

//compute PID probabilities
//*TODO* deal with heavier nucleons and/or BSM case here?
double rawprob_pi = exp(-0.5 * chisqmin_pi);
double rawprob_k = exp(-0.5 * chisqmin_k);
double rawprob_p = exp(-0.5 * chisqmin_p);
double rawprob_pi = probPion_ * exp(-0.5 * chisqmin_pi);
double rawprob_k = probKaon_ * exp(-0.5 * chisqmin_k);
double rawprob_p = probProton_ * exp(-0.5 * chisqmin_p);

double normprob = 1. / (rawprob_pi + rawprob_k + rawprob_p);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
'keep *_offlinePrimaryVertices4DWithBS__*',
'keep *_trackTimeValueMapProducer_*_*' ]

_phase2_tktiming_layer_RecoVertexEventContent = [ 'keep *_offlinePrimaryVertices4DnoPID__*',
'keep *_offlinePrimaryVertices4DnoPIDWithBS__*',
'keep *_tofPID_*_*']
_phase2_tktiming_layer_RecoVertexEventContent = [ 'keep *_tofPID_*_*']
phase2_timing.toModify( RecoVertexAOD,
outputCommands = RecoVertexAOD.outputCommands + _phase2_tktiming_RecoVertexEventContent)
phase2_timing_layer.toModify( RecoVertexAOD,
Expand Down
15 changes: 5 additions & 10 deletions RecoVertex/Configuration/python/RecoVertex_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,11 @@
from RecoVertex.Configuration.RecoVertex_phase2_timing_cff import (tpClusterProducer ,
quickTrackAssociatorByHits ,
trackTimeValueMapProducer ,
unsortedOfflinePrimaryVertices4DnoPID ,
trackWithVertexRefSelectorBeforeSorting4DnoPID ,
trackRefsForJetsBeforeSorting4DnoPID ,
offlinePrimaryVertices4DnoPID ,
offlinePrimaryVertices4DnoPIDWithBS,
unsortedOfflinePrimaryVertices4DwithPID ,
offlinePrimaryVertices4DwithPID ,
offlinePrimaryVertices4DwithPIDWithBS,
tofPID,
tofPID3D,
tofPID4DnoPID,
unsortedOfflinePrimaryVertices4D,
trackWithVertexRefSelectorBeforeSorting4D,
Expand All @@ -73,11 +69,7 @@
)

_phase2_tktiming_layer_vertexrecoTask = cms.Task( _phase2_tktiming_vertexrecoTask.copy() ,
unsortedOfflinePrimaryVertices4DnoPID ,
trackWithVertexRefSelectorBeforeSorting4DnoPID ,
trackRefsForJetsBeforeSorting4DnoPID ,
offlinePrimaryVertices4DnoPID ,
offlinePrimaryVertices4DnoPIDWithBS,
tofPID3D,
tofPID,
tofPID4DnoPID,
)
Expand All @@ -93,3 +85,6 @@
phase2_timing_layer.toModify(offlinePrimaryVertices4D, vertices = "unsortedOfflinePrimaryVertices4D", particles = "trackRefsForJetsBeforeSorting4D")
phase2_timing_layer.toModify(offlinePrimaryVertices4DWithBS, vertices = "unsortedOfflinePrimaryVertices4D:WithBS", particles = "trackRefsForJetsBeforeSorting4D")

from Configuration.ProcessModifiers.vertex4DTrackSelMVA_cff import vertex4DTrackSelMVA
vertex4DTrackSelMVA.toModify(unsortedOfflinePrimaryVertices4D, useMVACut = True)
vertex4DTrackSelMVA.toModify(unsortedOfflinePrimaryVertices4DwithPID, useMVACut = True)
45 changes: 18 additions & 27 deletions RecoVertex/Configuration/python/RecoVertex_phase2_timing_cff.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
import FWCore.ParameterSet.Config as cms
from RecoVertex.Configuration.RecoVertex_cff import unsortedOfflinePrimaryVertices, trackWithVertexRefSelector, trackRefsForJets, sortedPrimaryVertices, offlinePrimaryVertices, offlinePrimaryVerticesWithBS,vertexrecoTask

from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA2D_vectParameters

unsortedOfflinePrimaryVertices4D = unsortedOfflinePrimaryVertices.clone(
TkClusParameters = DA2D_vectParameters,
TkClusParameters = dict(
algorithm = "DA2D_vect",
TkDAClusParameters = dict(
Tmin = 4.0,
Tpurge = 4.0,
Tstop = 2.0
),
),
TrackTimesLabel = cms.InputTag("trackTimeValueMapProducer","generalTracksConfigurableFlatResolutionModel"),
TrackTimeResosLabel = cms.InputTag("trackTimeValueMapProducer","generalTracksConfigurableFlatResolutionModelResolution"),
vertexCollections = {0: dict(vertexTimeParameters = cms.PSet( algorithm = cms.string('legacy4D'))),
1: dict(vertexTimeParameters = cms.PSet( algorithm = cms.string('legacy4D')))}
)
trackWithVertexRefSelectorBeforeSorting4D = trackWithVertexRefSelector.clone(
vertexTag = "unsortedOfflinePrimaryVertices4D",
Expand All @@ -27,28 +34,6 @@
vertices = "unsortedOfflinePrimaryVertices4D:WithBS"
)

unsortedOfflinePrimaryVertices4DnoPID = unsortedOfflinePrimaryVertices4D.clone(
TrackTimesLabel = "trackExtenderWithMTD:generalTrackt0",
TrackTimeResosLabel = "trackExtenderWithMTD:generalTracksigmat0"
)
trackWithVertexRefSelectorBeforeSorting4DnoPID = trackWithVertexRefSelector.clone(
vertexTag = "unsortedOfflinePrimaryVertices4DnoPID",
ptMax = 9e99,
ptErrorCut = 9e99
)
trackRefsForJetsBeforeSorting4DnoPID = trackRefsForJets.clone(
src = "trackWithVertexRefSelectorBeforeSorting4DnoPID"
)
offlinePrimaryVertices4DnoPID = offlinePrimaryVertices4D.clone(
vertices = "unsortedOfflinePrimaryVertices4DnoPID",
particles = "trackRefsForJetsBeforeSorting4DnoPID",
trackTimeTag = "trackExtenderWithMTD:generalTrackt0",
trackTimeResoTag = "trackExtenderWithMTD:generalTracksigmat0"
)
offlinePrimaryVertices4DnoPIDWithBS=offlinePrimaryVertices4DnoPID.clone(
vertices = "unsortedOfflinePrimaryVertices4DnoPID:WithBS"
)

unsortedOfflinePrimaryVertices4DwithPID = unsortedOfflinePrimaryVertices4D.clone(
TrackTimesLabel = "tofPID4DnoPID:t0safe",
TrackTimeResosLabel = "tofPID4DnoPID:sigmat0safe"
Expand Down Expand Up @@ -76,9 +61,15 @@
from SimTracker.TrackAssociation.trackTimeValueMapProducer_cfi import trackTimeValueMapProducer
from RecoMTD.TimingIDTools.tofPIDProducer_cfi import tofPIDProducer

tofPID4DnoPID=tofPIDProducer.clone(vtxsSrc='unsortedOfflinePrimaryVertices4DnoPID')
tofPID4DnoPID=tofPIDProducer.clone(vtxsSrc='unsortedOfflinePrimaryVertices')
tofPID=tofPIDProducer.clone()
tofPID3D=tofPIDProducer.clone(vtxsSrc='unsortedOfflinePrimaryVertices')

from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
phase2_timing_layer.toModify(tofPID, vtxsSrc='unsortedOfflinePrimaryVertices4D')
phase2_timing_layer.toModify(tofPID, vtxsSrc='unsortedOfflinePrimaryVertices4D', vertexReassignment=False)
phase2_timing_layer.toModify(tofPID3D, vertexReassignment=False)
phase2_timing_layer.toModify(unsortedOfflinePrimaryVertices,
vertexCollections = {0: dict(vertexTimeParameters = cms.PSet( algorithm = cms.string('fromTracksPID'))),
1: dict(vertexTimeParameters = cms.PSet( algorithm = cms.string('fromTracksPID')))}
)

Loading

0 comments on commit aac6c7d

Please sign in to comment.