@@ -89,6 +89,36 @@ class Primary4DVertexHarvester : public DQMEDHarvester {
8989 MonitorElement* meEndcapPiPurity_;
9090 MonitorElement* meEndcapKPurity_;
9191 MonitorElement* meEndcapPPurity_;
92+
93+ // Histograms to study PID efficiency and purity
94+ MonitorElement* meEndcapTruePi_Eta_[2 ];
95+ MonitorElement* meEndcapTrueK_Eta_[2 ];
96+ MonitorElement* meEndcapTrueP_Eta_[2 ];
97+
98+ MonitorElement* meEndcapAsPi_Eta_[2 ];
99+ MonitorElement* meEndcapAsK_Eta_[2 ];
100+ MonitorElement* meEndcapAsP_Eta_[2 ];
101+ MonitorElement* meEndcapNoPID_Eta_[2 ];
102+
103+ MonitorElement* meEndcapPIDPiAsPiEff_Eta_[2 ];
104+ MonitorElement* meEndcapPIDPiAsKEff_Eta_[2 ];
105+ MonitorElement* meEndcapPIDPiAsPEff_Eta_[2 ];
106+ MonitorElement* meEndcapPIDPiNoPIDEff_Eta_[2 ];
107+
108+ MonitorElement* meEndcapPIDKAsPiEff_Eta_[2 ];
109+ MonitorElement* meEndcapPIDKAsKEff_Eta_[2 ];
110+ MonitorElement* meEndcapPIDKAsPEff_Eta_[2 ];
111+ MonitorElement* meEndcapPIDKNoPIDEff_Eta_[2 ];
112+
113+ MonitorElement* meEndcapPIDPAsPiEff_Eta_[2 ];
114+ MonitorElement* meEndcapPIDPAsKEff_Eta_[2 ];
115+ MonitorElement* meEndcapPIDPAsPEff_Eta_[2 ];
116+ MonitorElement* meEndcapPIDPNoPIDEff_Eta_[2 ];
117+
118+ MonitorElement* meEndcapPiPurity_Eta_[2 ];
119+ MonitorElement* meEndcapKPurity_Eta_[2 ];
120+ MonitorElement* meEndcapPPurity_Eta_[2 ];
121+
92122};
93123
94124// ------------ constructor and destructor --------------
@@ -235,12 +265,64 @@ void Primary4DVertexHarvester::dqmEndJob(DQMStore::IBooker& ibook, DQMStore::IGe
235265 MonitorElement* meEndcapTrueKAsP = igetter.get (folder_ + " EndcapTrueKAsP" );
236266 MonitorElement* meEndcapTruePAsP = igetter.get (folder_ + " EndcapTruePAsP" );
237267
268+
269+ // additional plots for PID study in different eta regions of ETL
270+ MonitorElement* meEndcapTruePiNoPID_Eta[2 ];
271+ MonitorElement* meEndcapTrueKNoPID_Eta[2 ];
272+ MonitorElement* meEndcapTruePNoPID_Eta[2 ];
273+ meEndcapTruePiNoPID_Eta[0 ] = igetter.get (folder_ + " EndcapTruePiNoPID_lowEta" );
274+ meEndcapTrueKNoPID_Eta[0 ] = igetter.get (folder_ + " EndcapTrueKNoPID_lowEta" );
275+ meEndcapTruePNoPID_Eta[0 ] = igetter.get (folder_ + " EndcapTruePNoPID_lowEta" );
276+ meEndcapTruePiNoPID_Eta[1 ] = igetter.get (folder_ + " EndcapTruePiNoPID_highEta" );
277+ meEndcapTrueKNoPID_Eta[1 ] = igetter.get (folder_ + " EndcapTrueKNoPID_highEta" );
278+ meEndcapTruePNoPID_Eta[1 ] = igetter.get (folder_ + " EndcapTruePNoPID_highEta" );
279+
280+ MonitorElement* meEndcapTruePiAsPi_Eta[2 ];
281+ MonitorElement* meEndcapTrueKAsPi_Eta[2 ];
282+ MonitorElement* meEndcapTruePAsPi_Eta[2 ];
283+ meEndcapTruePiAsPi_Eta[0 ] = igetter.get (folder_ + " EndcapTruePiAsPi_lowEta" );
284+ meEndcapTrueKAsPi_Eta[0 ] = igetter.get (folder_ + " EndcapTrueKAsPi_lowEta" );
285+ meEndcapTruePAsPi_Eta[0 ] = igetter.get (folder_ + " EndcapTruePAsPi_lowEta" );
286+ meEndcapTruePiAsPi_Eta[1 ] = igetter.get (folder_ + " EndcapTruePiAsPi_highEta" );
287+ meEndcapTrueKAsPi_Eta[1 ] = igetter.get (folder_ + " EndcapTrueKAsPi_highEta" );
288+ meEndcapTruePAsPi_Eta[1 ] = igetter.get (folder_ + " EndcapTruePAsPi_highEta" );
289+
290+ MonitorElement* meEndcapTruePiAsK_Eta[2 ];
291+ MonitorElement* meEndcapTrueKAsK_Eta[2 ];
292+ MonitorElement* meEndcapTruePAsK_Eta[2 ];
293+ meEndcapTruePiAsK_Eta[0 ] = igetter.get (folder_ + " EndcapTruePiAsK_lowEta" );
294+ meEndcapTrueKAsK_Eta[0 ] = igetter.get (folder_ + " EndcapTrueKAsK_lowEta" );
295+ meEndcapTruePAsK_Eta[0 ] = igetter.get (folder_ + " EndcapTruePAsK_lowEta" );
296+ meEndcapTruePiAsK_Eta[1 ] = igetter.get (folder_ + " EndcapTruePiAsK_highEta" );
297+ meEndcapTrueKAsK_Eta[1 ] = igetter.get (folder_ + " EndcapTrueKAsK_highEta" );
298+ meEndcapTruePAsK_Eta[1 ] = igetter.get (folder_ + " EndcapTruePAsK_highEta" );
299+
300+ MonitorElement* meEndcapTruePiAsP_Eta[2 ];
301+ MonitorElement* meEndcapTrueKAsP_Eta[2 ];
302+ MonitorElement* meEndcapTruePAsP_Eta[2 ];
303+ meEndcapTruePiAsP_Eta[0 ] = igetter.get (folder_ + " EndcapTruePiAsP_lowEta" );
304+ meEndcapTrueKAsP_Eta[0 ] = igetter.get (folder_ + " EndcapTrueKAsP_lowEta" );
305+ meEndcapTruePAsP_Eta[0 ] = igetter.get (folder_ + " EndcapTruePAsP_lowEta" );
306+ meEndcapTruePiAsP_Eta[1 ] = igetter.get (folder_ + " EndcapTruePiAsP_highEta" );
307+ meEndcapTrueKAsP_Eta[1 ] = igetter.get (folder_ + " EndcapTrueKAsP_highEta" );
308+ meEndcapTruePAsP_Eta[1 ] = igetter.get (folder_ + " EndcapTruePAsP_highEta" );
309+
310+
238311 if (!meBarrelPIDp || !meEndcapPIDp || !meBarrelTruePiNoPID || !meBarrelTrueKNoPID || !meBarrelTruePNoPID ||
239312 !meEndcapTruePiNoPID || !meEndcapTrueKNoPID || !meEndcapTruePNoPID || !meBarrelTruePiAsPi || !meBarrelTrueKAsPi ||
240313 !meBarrelTruePAsPi || !meEndcapTruePiAsPi || !meEndcapTrueKAsPi || !meEndcapTruePAsPi || !meBarrelTruePiAsK ||
241314 !meBarrelTrueKAsK || !meBarrelTruePAsK || !meEndcapTruePiAsK || !meEndcapTrueKAsK || !meEndcapTruePAsK ||
242315 !meBarrelTruePiAsP || !meBarrelTrueKAsP || !meBarrelTruePAsP || !meEndcapTruePiAsP || !meEndcapTrueKAsP ||
243- !meEndcapTruePAsP) {
316+ !meEndcapTruePAsP ||
317+ !meEndcapTruePiNoPID_Eta[0 ] || !meEndcapTrueKNoPID_Eta[0 ] || !meEndcapTruePNoPID_Eta[0 ] ||
318+ !meEndcapTruePiNoPID_Eta[1 ] || !meEndcapTrueKNoPID_Eta[1 ] || !meEndcapTruePNoPID_Eta[1 ] ||
319+ !meEndcapTruePiAsPi_Eta[0 ] || !meEndcapTrueKAsPi_Eta[0 ] || !meEndcapTruePAsPi_Eta[0 ] ||
320+ !meEndcapTruePiAsPi_Eta[1 ] || !meEndcapTrueKAsPi_Eta[1 ] || !meEndcapTruePAsPi_Eta[1 ] ||
321+ !meEndcapTruePiAsK_Eta[0 ] || !meEndcapTrueKAsK_Eta[0 ] || !meEndcapTruePAsK_Eta[0 ] ||
322+ !meEndcapTruePiAsK_Eta[1 ] || !meEndcapTrueKAsK_Eta[1 ] || !meEndcapTruePAsK_Eta[1 ] ||
323+ !meEndcapTruePiAsP_Eta[0 ] || !meEndcapTrueKAsP_Eta[0 ] || !meEndcapTruePAsP_Eta[0 ] ||
324+ !meEndcapTruePiAsP_Eta[1 ] || !meEndcapTrueKAsP_Eta[1 ] || !meEndcapTruePAsP_Eta[1 ]
325+ ) {
244326 edm::LogWarning (" Primary4DVertexHarvester" ) << " PID Monitoring histograms not found!" << std::endl;
245327 return ;
246328 }
@@ -616,6 +698,199 @@ void Primary4DVertexHarvester::dqmEndJob(DQMStore::IBooker& ibook, DQMStore::IGe
616698 meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
617699 meEndcapPPurity_->getTH1 ()->SetMinimum (0 .);
618700 computeEfficiency1D (meEndcapTruePAsP, meEndcapAsP_, meEndcapPPurity_);
701+
702+
703+ // additional plots to study PID in regions of ETL
704+ for (int i = 0 ; i < 2 ; i++){
705+ std::string suffix = " lowEta" ;
706+ if (i == 1 ) suffix = " highEta" ;
707+
708+ meEndcapTruePi_Eta_[i] = ibook.book1D (Form (" EndcapTruePi_%s" ,suffix.c_str ()),
709+ " Endcap True Pi P;P [GeV]" ,
710+ meEndcapPIDp->getNbinsX (),
711+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
712+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
713+ incrementME (meEndcapTruePi_Eta_[i], meEndcapTruePiAsPi_Eta[i]);
714+ incrementME (meEndcapTruePi_Eta_[i], meEndcapTruePiAsK_Eta[i]);
715+ incrementME (meEndcapTruePi_Eta_[i], meEndcapTruePiAsP_Eta[i]);
716+ incrementME (meEndcapTruePi_Eta_[i], meEndcapTruePiNoPID_Eta[i]);
717+
718+ meEndcapTrueK_Eta_[i] = ibook.book1D (Form (" EndcapTrueK_%s" ,suffix.c_str ()),
719+ " Endcap True K P;P [GeV]" ,
720+ meEndcapPIDp->getNbinsX (),
721+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
722+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
723+ incrementME (meEndcapTrueK_Eta_[i], meEndcapTrueKAsPi_Eta[i]);
724+ incrementME (meEndcapTrueK_Eta_[i], meEndcapTrueKAsK_Eta[i]);
725+ incrementME (meEndcapTrueK_Eta_[i], meEndcapTrueKAsP_Eta[i]);
726+ incrementME (meEndcapTrueK_Eta_[i], meEndcapTrueKNoPID_Eta[i]);
727+
728+ meEndcapTrueP_Eta_[i] = ibook.book1D (Form (" EndcapTrueP_%s" ,suffix.c_str ()),
729+ " Endcap True P P;P [GeV]" ,
730+ meEndcapPIDp->getNbinsX (),
731+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
732+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
733+ incrementME (meEndcapTrueP_Eta_[i], meEndcapTruePAsPi_Eta[i]);
734+ incrementME (meEndcapTrueP_Eta_[i], meEndcapTruePAsK_Eta[i]);
735+ incrementME (meEndcapTrueP_Eta_[i], meEndcapTruePAsP_Eta[i]);
736+ incrementME (meEndcapTrueP_Eta_[i], meEndcapTruePNoPID_Eta[i]);
737+
738+
739+ meEndcapPIDPiAsPiEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPiAsPiEff_%s" ,suffix.c_str ()),
740+ " Endcap True pi as pi id. fraction VS P;P [GeV]" ,
741+ meEndcapPIDp->getNbinsX (),
742+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
743+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
744+ meEndcapPIDPiAsPiEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
745+ computeEfficiency1D (meEndcapTruePiAsPi_Eta[i], meEndcapTruePi_Eta_[i], meEndcapPIDPiAsPiEff_Eta_[i]);
746+
747+ meEndcapPIDPiAsKEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPiAsKEff_%s" ,suffix.c_str ()),
748+ " Endcap True pi as k id. fraction VS P;P [GeV]" ,
749+ meEndcapPIDp->getNbinsX (),
750+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
751+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
752+ meEndcapPIDPiAsKEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
753+ computeEfficiency1D (meEndcapTruePiAsK_Eta[i], meEndcapTruePi_Eta_[i], meEndcapPIDPiAsKEff_Eta_[i]);
754+
755+ meEndcapPIDPiAsPEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPiAsPEff_%s" ,suffix.c_str ()),
756+ " Endcap True pi as p id. fraction VS P;P [GeV]" ,
757+ meEndcapPIDp->getNbinsX (),
758+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
759+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
760+ meEndcapPIDPiAsPEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
761+ computeEfficiency1D (meEndcapTruePiAsP_Eta[i], meEndcapTruePi_Eta_[i], meEndcapPIDPiAsPEff_Eta_[i]);
762+
763+ meEndcapPIDPiNoPIDEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPiNoPIDEff_%s" ,suffix.c_str ()),
764+ " Endcap True pi no PID id. fraction VS P;P [GeV]" ,
765+ meEndcapPIDp->getNbinsX (),
766+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
767+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
768+ meEndcapPIDPiNoPIDEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
769+ computeEfficiency1D (meEndcapTruePiNoPID_Eta[i], meEndcapTruePi_Eta_[i], meEndcapPIDPiNoPIDEff_Eta_[i]);
770+
771+
772+ //
773+ meEndcapPIDKAsPiEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDKAsPiEff_%s" ,suffix.c_str ()),
774+ " Endcap True k as pi id. fraction VS P;P [GeV]" ,
775+ meEndcapPIDp->getNbinsX (),
776+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
777+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
778+ meEndcapPIDKAsPiEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
779+ computeEfficiency1D (meEndcapTrueKAsPi_Eta[i], meEndcapTrueK_Eta_[i], meEndcapPIDKAsPiEff_Eta_[i]);
780+
781+ meEndcapPIDKAsKEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDKAsKEff_%s" ,suffix.c_str ()),
782+ " Endcap True k as k id. fraction VS P;P [GeV]" ,
783+ meEndcapPIDp->getNbinsX (),
784+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
785+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
786+ meEndcapPIDKAsKEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
787+ computeEfficiency1D (meEndcapTrueKAsK_Eta[i], meEndcapTrueK_Eta_[i], meEndcapPIDKAsKEff_Eta_[i]);
788+
789+ meEndcapPIDKAsPEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDKAsPEff_%s" ,suffix.c_str ()),
790+ " Endcap True k as p id. fraction VS P;P [GeV]" ,
791+ meEndcapPIDp->getNbinsX (),
792+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
793+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
794+ meEndcapPIDKAsPEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
795+ computeEfficiency1D (meEndcapTrueKAsP_Eta[i], meEndcapTrueK_Eta_[i], meEndcapPIDKAsPEff_Eta_[i]);
796+
797+ meEndcapPIDKNoPIDEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDKNoPIDEff_%s" ,suffix.c_str ()),
798+ " Endcap True k no PID id. fraction VS P;P [GeV]" ,
799+ meEndcapPIDp->getNbinsX (),
800+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
801+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
802+ meEndcapPIDKNoPIDEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
803+ computeEfficiency1D (meEndcapTrueKNoPID_Eta[i], meEndcapTrueK_Eta_[i], meEndcapPIDKNoPIDEff_Eta_[i]);
804+
805+ //
806+ meEndcapPIDPAsPiEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPAsPiEff_%s" ,suffix.c_str ()),
807+ " Endcap True p as pi id. fraction VS P;P [GeV]" ,
808+ meEndcapPIDp->getNbinsX (),
809+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
810+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
811+ meEndcapPIDPAsPiEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
812+ computeEfficiency1D (meEndcapTruePAsPi_Eta[i], meEndcapTrueP_Eta_[i], meEndcapPIDPAsPiEff_Eta_[i]);
813+
814+ meEndcapPIDPAsKEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPAsKEff_%s" ,suffix.c_str ()),
815+ " Endcap True p as k id. fraction VS P;P [GeV]" ,
816+ meEndcapPIDp->getNbinsX (),
817+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
818+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
819+ meEndcapPIDPAsKEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
820+ computeEfficiency1D (meEndcapTruePAsK_Eta[i], meEndcapTrueP_Eta_[i], meEndcapPIDPAsKEff_Eta_[i]);
821+
822+ meEndcapPIDPAsPEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPAsPEff_%s" ,suffix.c_str ()),
823+ " Endcap True p as p id. fraction VS P;P [GeV]" ,
824+ meEndcapPIDp->getNbinsX (),
825+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
826+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
827+ meEndcapPIDPAsPEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
828+ computeEfficiency1D (meEndcapTruePAsP_Eta[i], meEndcapTrueP_Eta_[i], meEndcapPIDPAsPEff_Eta_[i]);
829+
830+ meEndcapPIDPNoPIDEff_Eta_[i] = ibook.book1D (Form (" EndcapPIDPNoPIDEff_%s" ,suffix.c_str ()),
831+ " Endcap True p no PID id. fraction VS P;P [GeV]" ,
832+ meEndcapPIDp->getNbinsX (),
833+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
834+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
835+ meEndcapPIDPNoPIDEff_Eta_[i]->getTH1 ()->SetMinimum (0 .);
836+ computeEfficiency1D (meEndcapTruePNoPID_Eta[i], meEndcapTrueP_Eta_[i], meEndcapPIDPNoPIDEff_Eta_[i]);
837+
838+ // purity
839+ meEndcapAsPi_Eta_[i] = ibook.book1D (Form (" EndcapAsPi_%s" , suffix.c_str ()),
840+ " Endcap Identified Pi P;P [GeV]" ,
841+ meEndcapPIDp->getNbinsX (),
842+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
843+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
844+ incrementME (meEndcapAsPi_Eta_[i], meEndcapTruePiAsPi_Eta[i]);
845+ incrementME (meEndcapAsPi_Eta_[i], meEndcapTrueKAsPi_Eta[i]);
846+ incrementME (meEndcapAsPi_Eta_[i], meEndcapTruePAsPi_Eta[i]);
847+
848+ meEndcapAsK_Eta_[i] = ibook.book1D (Form (" EndcapAsK_%s" ,suffix.c_str ()),
849+ " Endcap Identified k P;P [GeV]" ,
850+ meEndcapPIDp->getNbinsX (),
851+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
852+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
853+ incrementME (meEndcapAsK_Eta_[i], meEndcapTruePiAsK_Eta[i]);
854+ incrementME (meEndcapAsK_Eta_[i], meEndcapTrueKAsK_Eta[i]);
855+ incrementME (meEndcapAsK_Eta_[i], meEndcapTruePAsK_Eta[i]);
856+
857+ meEndcapAsP_Eta_[i] = ibook.book1D (Form (" EndcapAsP_%s" ,suffix.c_str ()),
858+ " Endcap Identified p P;P [GeV]" ,
859+ meEndcapPIDp->getNbinsX (),
860+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
861+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
862+ incrementME (meEndcapAsP_Eta_[i], meEndcapTruePiAsP_Eta[i]);
863+ incrementME (meEndcapAsP_Eta_[i], meEndcapTrueKAsP_Eta[i]);
864+ incrementME (meEndcapAsP_Eta_[i], meEndcapTruePAsP_Eta[i]);
865+
866+
867+ meEndcapPiPurity_Eta_[i] = ibook.book1D (Form (" EndcapPiPurity_%s" ,suffix.c_str ()),
868+ " Endcap pi id. fraction true pi VS P;P [GeV]" ,
869+ meEndcapPIDp->getNbinsX (),
870+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
871+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
872+ meEndcapPiPurity_Eta_[i]->getTH1 ()->SetMinimum (0 .);
873+ computeEfficiency1D (meEndcapTruePiAsPi_Eta[i], meEndcapAsPi_Eta_[i], meEndcapPiPurity_Eta_[i]);
874+
875+
876+ meEndcapKPurity_Eta_[i] = ibook.book1D (Form (" EndcapKPurity_%s" ,suffix.c_str ()),
877+ " Endcap k id. fraction true k VS P;P [GeV]" ,
878+ meEndcapPIDp->getNbinsX (),
879+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
880+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
881+ meEndcapKPurity_Eta_[i]->getTH1 ()->SetMinimum (0 .);
882+ computeEfficiency1D (meEndcapTrueKAsK_Eta[i], meEndcapAsK_Eta_[i], meEndcapKPurity_Eta_[i]);
883+
884+ meEndcapPPurity_Eta_[i] = ibook.book1D (Form (" EndcapPPurity_%s" ,suffix.c_str ()),
885+ " Endcap p id. fraction true p VS P;P [GeV]" ,
886+ meEndcapPIDp->getNbinsX (),
887+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmin (),
888+ meEndcapPIDp->getTH1 ()->GetXaxis ()->GetXmax ());
889+ meEndcapPPurity_Eta_[i]->getTH1 ()->SetMinimum (0 .);
890+ computeEfficiency1D (meEndcapTruePAsP_Eta[i], meEndcapAsP_Eta_[i], meEndcapPPurity_Eta_[i]);
891+ }
892+
893+
619894}
620895
621896// ------------ method fills 'descriptions' with the allowed parameters for the module ----------
0 commit comments