@@ -86,8 +86,6 @@ struct DedxAnalysis {
8686 // Histograms names
8787 static constexpr std::string_view kDedxvsMomentumPos [4 ] = {" dEdx_vs_Momentum_all_Pos" , " dEdx_vs_Momentum_Pi_v0_Pos" , " dEdx_vs_Momentum_Pr_v0_Pos" , " dEdx_vs_Momentum_El_v0_Pos" };
8888 static constexpr std::string_view kDedxvsMomentumNeg [4 ] = {" dEdx_vs_Momentum_all_Neg" , " dEdx_vs_Momentum_Pi_v0_Neg" , " dEdx_vs_Momentum_Pr_v0_Neg" , " dEdx_vs_Momentum_El_v0_Neg" };
89- static constexpr std::string_view kDedxvsMomentumPosWoCal [4 ] = {" dEdx_vs_Momentum_all_Pos_WoCal" , " dEdx_vs_Momentum_Pi_v0_Pos_WoCal" , " dEdx_vs_Momentum_Pr_v0_Pos_WoCal" , " dEdx_vs_Momentum_El_v0_Pos_WoCal" };
90- static constexpr std::string_view kDedxvsMomentumNegWoCal [4 ] = {" dEdx_vs_Momentum_all_Neg_WoCal" , " dEdx_vs_Momentum_Pi_v0_Neg_WoCal" , " dEdx_vs_Momentum_Pr_v0_Neg_WoCal" , " dEdx_vs_Momentum_El_v0_Neg_WoCal" };
9189 static constexpr double EtaCut[9 ] = {-0.8 , -0.6 , -0.4 , -0.2 , 0.0 , 0.2 , 0.4 , 0.6 , 0.8 };
9290 Configurable<std::vector<float >> calibrationFactorNeg{" calibrationFactorNeg" , {50.4011 , 50.4764 , 50.186 , 49.2955 , 48.8222 , 49.4273 , 49.9292 , 50.0556 }, " negative calibration factors" };
9391 Configurable<std::vector<float >> calibrationFactorPos{" calibrationFactorPos" , {50.5157 , 50.6359 , 50.3198 , 49.3345 , 48.9197 , 49.4931 , 50.0188 , 50.1406 }, " positive calibration factors" };
@@ -133,6 +131,13 @@ struct DedxAnalysis {
133131 registryDeDx.add (
134132 " hdEdx_vs_eta_vs_p_Pos_El" , " dE/dx" , HistType::kTH3F ,
135133 {{etaAxis}, {dedxAxis}, {pAxis}});
134+ // Pions from TOF
135+ registryDeDx.add (
136+ " hdEdx_vs_eta_vs_p_Neg_TOF" , " dE/dx" , HistType::kTH3F ,
137+ {{etaAxis}, {dedxAxis}, {pAxis}});
138+ registryDeDx.add (
139+ " hdEdx_vs_eta_vs_p_Pos_TOF" , " dE/dx" , HistType::kTH3F ,
140+ {{etaAxis}, {dedxAxis}, {pAxis}});
136141
137142 } else {
138143 // MIP for pions
@@ -152,19 +157,24 @@ struct DedxAnalysis {
152157 registryDeDx.add (
153158 " hdEdx_vs_eta_vs_p_Pos_calibrated_El" , " dE/dx" , HistType::kTH3F ,
154159 {{etaAxis}, {dedxAxis}, {pAxis}});
160+
161+ // Pions from TOF
162+ registryDeDx.add (
163+ " hdEdx_vs_eta_vs_p_Neg_calibrated_TOF" , " dE/dx" , HistType::kTH3F ,
164+ {{etaAxis}, {dedxAxis}, {pAxis}});
165+
166+ registryDeDx.add (
167+ " hdEdx_vs_eta_vs_p_Pos_calibrated_TOF" , " dE/dx" , HistType::kTH3F ,
168+ {{etaAxis}, {dedxAxis}, {pAxis}});
155169
156170 // De/Dx for ch and v0 particles
157171 for (int i = 0 ; i < 4 ; ++i) {
158172 registryDeDx.add (kDedxvsMomentumPos [i].data (), " dE/dx" , HistType::kTH3F ,
159173 {{pAxis}, {dedxAxis}, {etaAxis}});
160174 registryDeDx.add (kDedxvsMomentumNeg [i].data (), " dE/dx" , HistType::kTH3F ,
161175 {{pAxis}, {dedxAxis}, {etaAxis}});
162-
163- registryDeDx.add (kDedxvsMomentumPosWoCal [i].data (), " dE/dx" , HistType::kTH3F ,
164- {{pAxis}, {dedxAxis}, {etaAxis}});
165- registryDeDx.add (kDedxvsMomentumNegWoCal [i].data (), " dE/dx" , HistType::kTH3F ,
166- {{pAxis}, {dedxAxis}, {etaAxis}});
167176 }
177+
168178 }
169179
170180 registryDeDx.add (
@@ -393,13 +403,13 @@ struct DedxAnalysis {
393403 }
394404 }
395405 }
396- // MIP calibration for electrons
406+ // Beta from TOF
397407 if (signedP < 0 ) {
398408 registryDeDx.fill (HIST (" hbeta_vs_p_Neg" ), std::abs (signedP), trk.beta ());
399409 } else {
400410 registryDeDx.fill (HIST (" hbeta_vs_p_Pos" ), signedP, trk.beta ());
401411 }
402-
412+ // Electrons from TOF
403413 if (std::abs (trk.beta () - 1 ) < 0.1 ) { // beta cut
404414 if (calibrationMode) {
405415 if (signedP < 0 ) {
@@ -419,6 +429,26 @@ struct DedxAnalysis {
419429 }
420430 }
421431 }
432+ // pions from TOF
433+ if (trk.beta () > 1 . && trk.beta () < 1.05 ) { // beta cut
434+ if (calibrationMode) {
435+ if (signedP < 0 ) {
436+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Neg_TOF" ), trk.eta (), trk.tpcSignal (), std::abs (signedP));
437+ } else {
438+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Pos_TOF" ), trk.eta (), trk.tpcSignal (), signedP);
439+ }
440+ } else {
441+ for (int i = 0 ; i < 8 ; ++i) {
442+ if (trk.eta () > EtaCut[i] && trk.eta () < EtaCut[i + 1 ]) {
443+ if (signedP < 0 ) {
444+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Neg_calibrated_TOF" ), trk.eta (), trk.tpcSignal () * 50 / calibrationFactorNeg->at (i), std::abs (signedP));
445+ } else {
446+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Pos_calibrated_TOF" ), trk.eta (), trk.tpcSignal () * 50 / calibrationFactorPos->at (i), signedP);
447+ }
448+ }
449+ }
450+ }
451+ }
422452
423453 registryDeDx.fill (HIST (" hdEdx_vs_phi" ), trk.phi (), trk.tpcSignal ());
424454
0 commit comments