@@ -373,6 +373,13 @@ class Primary4DVertexValidation : public DQMEDAnalyzer {
373373 MonitorElement* meRecPVT_;
374374 MonitorElement* meSimPVZ_;
375375
376+ MonitorElement* meVtxTrackMult_;
377+ MonitorElement* meVtxTrackW_;
378+ MonitorElement* meVtxTrackWnt_;
379+ MonitorElement* meVtxTrackRecLVMult_;
380+ MonitorElement* meVtxTrackRecLVW_;
381+ MonitorElement* meVtxTrackRecLVWnt_;
382+
376383 MonitorElement* mePUTrackMult_;
377384 MonitorElement* mePUTrackRelMult_;
378385 MonitorElement* meFakeTrackRelMult_;
@@ -696,6 +703,14 @@ void Primary4DVertexValidation::bookHistograms(DQMStore::IBooker& ibook,
696703 meRecPVT_ = ibook.book1D (" recPVT" , " #Rec vertices/10 ps" , 200 , -1 ., 1 .);
697704 meSimPVZ_ = ibook.book1D (" simPVZ" , " Weighted #Sim vertices/mm" , 400 , -20 ., 20 .);
698705
706+ meVtxTrackMult_ = ibook.book1D (" VtxTrackMult" , " Log10(Vertex track multiplicity)" , 80 , 0.5 , 2.5 );
707+ meVtxTrackW_ = ibook.book1D (" VtxTrackW" , " Vertex track weight (all)" , 50 , 0 ., 1 .);
708+ meVtxTrackWnt_ = ibook.book1D (" VtxTrackWnt" , " Vertex track Wnt" , 50 , 0 ., 1 .);
709+ meVtxTrackRecLVMult_ =
710+ ibook.book1D (" VtxTrackRecLVMult" , " Log10(Vertex track multiplicity) for matched LV" , 80 , 0.5 , 2.5 );
711+ meVtxTrackRecLVW_ = ibook.book1D (" VtxTrackRecLVW" , " Vertex track weight for matched LV (all)" , 50 , 0 ., 1 .);
712+ meVtxTrackRecLVWnt_ = ibook.book1D (" VtxTrackRecLVWnt" , " Vertex track Wnt for matched LV" , 50 , 0 ., 1 .);
713+
699714 mePUTrackRelMult_ = ibook.book1D (
700715 " PUTrackRelMult" , " Relative multiplicity of PU tracks for matched vertices; #PUTrks/#Trks" , 50 , 0 ., 1 .);
701716 meFakeTrackRelMult_ = ibook.book1D (
@@ -2087,6 +2102,14 @@ void Primary4DVertexValidation::analyze(const edm::Event& iEvent, const edm::Eve
20872102 continue ;
20882103 }
20892104
2105+ // monitor all track weights associated to a vertex before selection on it
2106+ if (selectedVtxMatching) {
2107+ meVtxTrackW_->Fill (vertex->trackWeight (*iTrack));
2108+ if (selectedLV) {
2109+ meVtxTrackRecLVW_->Fill (vertex->trackWeight (*iTrack));
2110+ }
2111+ }
2112+
20902113 if (vertex->trackWeight (*iTrack) < trackweightTh_)
20912114 continue ;
20922115 bool noCrack = std::abs ((*iTrack)->eta ()) < trackMaxBtlEta_ || std::abs ((*iTrack)->eta ()) > trackMinEtlEta_;
@@ -2122,6 +2145,10 @@ void Primary4DVertexValidation::analyze(const edm::Event& iEvent, const edm::Eve
21222145 massVector.push_back (mass);
21232146 recotracks.push_back (**iTrack);
21242147 getWosWnt (*vertex, *iTrack, sigmat0Safe, mtdQualMVA, BeamSpotH, wos, wnt);
2148+ meVtxTrackWnt_->Fill (wnt);
2149+ if (selectedLV) {
2150+ meVtxTrackRecLVWnt_->Fill (wnt);
2151+ }
21252152 // reco track matched to any TP
21262153 if (tp_info != nullptr ) {
21272154#ifdef EDM_ML_DEBUG
@@ -2423,6 +2450,7 @@ void Primary4DVertexValidation::analyze(const edm::Event& iEvent, const edm::Eve
24232450 } // if tp_info != nullptr && MatchCategory == 0
24242451 } // loop on reco tracks
24252452 if (selectedVtxMatching) {
2453+ meVtxTrackMult_->Fill (log10 (nt));
24262454 mePUTrackRelMult_->Fill (static_cast <double >(PUnt) / nt);
24272455 meFakeTrackRelMult_->Fill (static_cast <double >(Fakent) / nt);
24282456 mePUTrackRelSumWnt_->Fill (PUsumWnt / sumWnt);
@@ -2494,6 +2522,7 @@ void Primary4DVertexValidation::analyze(const edm::Event& iEvent, const edm::Eve
24942522 (sumPzJets - sumPzJetsnoPU) / sumPzJets);
24952523 }
24962524 if (selectedLV) {
2525+ meVtxTrackRecLVMult_->Fill (log10 (nt));
24972526 mePUTrackRecLVRelMult_->Fill (static_cast <double >(PUnt) / nt);
24982527 meFakeTrackRecLVRelMult_->Fill (static_cast <double >(Fakent) / nt);
24992528 mePUTrackRecLVRelSumWnt_->Fill (PUsumWnt / sumWnt);
0 commit comments