Skip to content

Commit 520383c

Browse files
prottayCMTProttay Das
andauthored
[PWGLF] added another step correction for pass5 (#11326)
Co-authored-by: Prottay Das <prottay@alipap1.cern.ch>
1 parent e6c0eaf commit 520383c

File tree

1 file changed

+68
-44
lines changed

1 file changed

+68
-44
lines changed

PWGLF/TableProducer/Common/spvector.cxx

Lines changed: 68 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -89,35 +89,39 @@ struct spvector {
8989
Configurable<float> cfgCutVertex{"cfgCutVertex", 10.0f, "Accepted z-vertex range"};
9090
Configurable<float> cfgCutCentralityMax{"cfgCutCentralityMax", 80.0f, "Centrality cut Max"};
9191
Configurable<float> cfgCutCentralityMin{"cfgCutCentralityMin", 0.0f, "Centrality cut Min"};
92+
Configurable<bool> additionalEvSel{"additionalEvSel", false, "additionalEvSel"};
93+
94+
struct : ConfigurableGroup {
95+
Configurable<int> QxyNbins{"QxyNbins", 100, "Number of bins in QxQy histograms"};
96+
Configurable<int> PhiNbins{"PhiNbins", 100, "Number of bins in phi histogram"};
97+
Configurable<float> lbinQxy{"lbinQxy", -5.0, "lower bin value in QxQy histograms"};
98+
Configurable<float> hbinQxy{"hbinQxy", 5.0, "higher bin value in QxQy histograms"};
99+
Configurable<int> VxNbins{"VxNbins", 25, "Number of bins in Vx histograms"};
100+
Configurable<float> lbinVx{"lbinVx", -0.05, "lower bin value in Vx histograms"};
101+
Configurable<float> hbinVx{"hbinVx", 0.0, "higher bin value in Vx histograms"};
102+
Configurable<int> VyNbins{"VyNbins", 25, "Number of bins in Vy histograms"};
103+
Configurable<float> lbinVy{"lbinVy", -0.02, "lower bin value in Vy histograms"};
104+
Configurable<float> hbinVy{"hbinVy", 0.02, "higher bin value in Vy histograms"};
105+
Configurable<int> VzNbins{"VzNbins", 20, "Number of bins in Vz histograms"};
106+
Configurable<float> lbinVz{"lbinVz", -10.0, "lower bin value in Vz histograms"};
107+
Configurable<float> hbinVz{"hbinVz", 10.0, "higher bin value in Vz histograms"};
108+
Configurable<int> CentNbins{"CentNbins", 16, "Number of bins in cent histograms"};
109+
Configurable<float> lbinCent{"lbinCent", 0.0, "lower bin value in cent histograms"};
110+
Configurable<float> hbinCent{"hbinCent", 80.0, "higher bin value in cent histograms"};
111+
Configurable<int> VxfineNbins{"VxfineNbins", 25, "Number of bins in Vx fine histograms"};
112+
Configurable<float> lfinebinVx{"lfinebinVx", -0.05, "lower bin value in Vx fine histograms"};
113+
Configurable<float> hfinebinVx{"hfinebinVx", 0.0, "higher bin value in Vx fine histograms"};
114+
Configurable<int> VyfineNbins{"VyfineNbins", 25, "Number of bins in Vy fine histograms"};
115+
Configurable<float> lfinebinVy{"lfinebinVy", -0.02, "lower bin value in Vy fine histograms"};
116+
Configurable<float> hfinebinVy{"hfinebinVy", 0.02, "higher bin value in Vy fine histograms"};
117+
Configurable<int> VzfineNbins{"VzfineNbins", 20, "Number of bins in Vz fine histograms"};
118+
Configurable<float> lfinebinVz{"lfinebinVz", -10.0, "lower bin value in Vz fine histograms"};
119+
Configurable<float> hfinebinVz{"hfinebinVz", 10.0, "higher bin value in Vz fine histograms"};
120+
Configurable<int> CentfineNbins{"CentfineNbins", 16, "Number of bins in cent fine histograms"};
121+
Configurable<float> lfinebinCent{"lfinebinCent", 0.0, "lower bin value in cent fine histograms"};
122+
Configurable<float> hfinebinCent{"hfinebinCent", 80.0, "higher bin value in cent fine histograms"};
123+
} configbins;
92124

93-
Configurable<int> QxyNbins{"QxyNbins", 100, "Number of bins in QxQy histograms"};
94-
Configurable<int> PhiNbins{"PhiNbins", 100, "Number of bins in phi histogram"};
95-
Configurable<float> lbinQxy{"lbinQxy", -5.0, "lower bin value in QxQy histograms"};
96-
Configurable<float> hbinQxy{"hbinQxy", 5.0, "higher bin value in QxQy histograms"};
97-
Configurable<int> VxNbins{"VxNbins", 25, "Number of bins in Vx histograms"};
98-
Configurable<float> lbinVx{"lbinVx", -0.05, "lower bin value in Vx histograms"};
99-
Configurable<float> hbinVx{"hbinVx", 0.0, "higher bin value in Vx histograms"};
100-
Configurable<int> VyNbins{"VyNbins", 25, "Number of bins in Vy histograms"};
101-
Configurable<float> lbinVy{"lbinVy", -0.02, "lower bin value in Vy histograms"};
102-
Configurable<float> hbinVy{"hbinVy", 0.02, "higher bin value in Vy histograms"};
103-
Configurable<int> VzNbins{"VzNbins", 20, "Number of bins in Vz histograms"};
104-
Configurable<float> lbinVz{"lbinVz", -10.0, "lower bin value in Vz histograms"};
105-
Configurable<float> hbinVz{"hbinVz", 10.0, "higher bin value in Vz histograms"};
106-
Configurable<int> CentNbins{"CentNbins", 16, "Number of bins in cent histograms"};
107-
Configurable<float> lbinCent{"lbinCent", 0.0, "lower bin value in cent histograms"};
108-
Configurable<float> hbinCent{"hbinCent", 80.0, "higher bin value in cent histograms"};
109-
Configurable<int> VxfineNbins{"VxfineNbins", 25, "Number of bins in Vx fine histograms"};
110-
Configurable<float> lfinebinVx{"lfinebinVx", -0.05, "lower bin value in Vx fine histograms"};
111-
Configurable<float> hfinebinVx{"hfinebinVx", 0.0, "higher bin value in Vx fine histograms"};
112-
Configurable<int> VyfineNbins{"VyfineNbins", 25, "Number of bins in Vy fine histograms"};
113-
Configurable<float> lfinebinVy{"lfinebinVy", -0.02, "lower bin value in Vy fine histograms"};
114-
Configurable<float> hfinebinVy{"hfinebinVy", 0.02, "higher bin value in Vy fine histograms"};
115-
Configurable<int> VzfineNbins{"VzfineNbins", 20, "Number of bins in Vz fine histograms"};
116-
Configurable<float> lfinebinVz{"lfinebinVz", -10.0, "lower bin value in Vz fine histograms"};
117-
Configurable<float> hfinebinVz{"hfinebinVz", 10.0, "higher bin value in Vz fine histograms"};
118-
Configurable<int> CentfineNbins{"CentfineNbins", 16, "Number of bins in cent fine histograms"};
119-
Configurable<float> lfinebinCent{"lfinebinCent", 0.0, "lower bin value in cent fine histograms"};
120-
Configurable<float> hfinebinCent{"hfinebinCent", 80.0, "higher bin value in cent fine histograms"};
121125
Configurable<bool> useShift{"useShift", false, "shift histograms"};
122126
Configurable<bool> ispolarization{"ispolarization", false, "Flag to check polarization"};
123127
Configurable<bool> followpub{"followpub", true, "flag to use alphaZDC"};
@@ -134,6 +138,7 @@ struct spvector {
134138
Configurable<bool> coarse5{"coarse5", false, "RE5"};
135139
Configurable<bool> fine5{"fine5", false, "REfine5"};
136140
Configurable<bool> coarse6{"coarse6", false, "RE6"};
141+
Configurable<bool> fine6{"fine6", false, "REfine6"};
137142
Configurable<bool> useRecentereSp{"useRecentereSp", false, "use Recentering with Sparse or THn"};
138143
Configurable<bool> useRecenterefineSp{"useRecenterefineSp", false, "use fine Recentering with THn"};
139144
Configurable<std::string> ConfGainPath{"ConfGainPath", "Users/p/prottay/My/Object/NewPbPbpass4_10092024/gaincallib", "Path to gain calibration"};
@@ -164,6 +169,10 @@ struct spvector {
164169
Configurable<std::string> ConfRecenterevxSp5{"ConfRecenterevxSp5", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vx recentere5"};
165170
Configurable<std::string> ConfRecenterevySp5{"ConfRecenterevySp5", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vy recentere5"};
166171
Configurable<std::string> ConfRecenterevzSp5{"ConfRecenterevzSp5", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vz recentere5"};
172+
Configurable<std::string> ConfRecenterecentSp6{"ConfRecenterecentSp6", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for cent recentere6"};
173+
Configurable<std::string> ConfRecenterevxSp6{"ConfRecenterevxSp6", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vx recentere6"};
174+
Configurable<std::string> ConfRecenterevySp6{"ConfRecenterevySp6", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vy recentere6"};
175+
Configurable<std::string> ConfRecenterevzSp6{"ConfRecenterevzSp6", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vz recentere6"};
167176
Configurable<std::string> ConfShiftC{"ConfShiftC", "Users/p/prottay/My/Object/Testinglocaltree/shiftcallib2", "Path to shift C"};
168177
Configurable<std::string> ConfShiftA{"ConfShiftA", "Users/p/prottay/My/Object/Testinglocaltree/shiftcallib2", "Path to shift A"};
169178

@@ -204,16 +213,16 @@ struct spvector {
204213
rctChecker.init(rctCut.cfgEvtRCTFlagCheckerLabel, rctCut.cfgEvtRCTFlagCheckerZDCCheck, rctCut.cfgEvtRCTFlagCheckerLimitAcceptAsBad);
205214

206215
AxisSpec channelZDCAxis = {8, 0.0, 8.0, "ZDC tower"};
207-
AxisSpec qxZDCAxis = {QxyNbins, lbinQxy, hbinQxy, "Qx"};
208-
AxisSpec phiAxis = {PhiNbins, -6.28, 6.28, "phi"};
209-
AxisSpec vzAxis = {VzNbins, lbinVz, hbinVz, "vz"};
210-
AxisSpec vxAxis = {VxNbins, lbinVx, hbinVx, "vx"};
211-
AxisSpec vyAxis = {VyNbins, lbinVy, hbinVy, "vy"};
212-
AxisSpec centAxis = {CentNbins, lbinCent, hbinCent, "V0M (%)"};
213-
AxisSpec vzfineAxis = {VzfineNbins, lfinebinVz, hfinebinVz, "vzfine"};
214-
AxisSpec vxfineAxis = {VxfineNbins, lfinebinVx, hfinebinVx, "vxfine"};
215-
AxisSpec vyfineAxis = {VyfineNbins, lfinebinVy, hfinebinVy, "vyfine"};
216-
AxisSpec centfineAxis = {CentfineNbins, lfinebinCent, hfinebinCent, "V0M (%) fine"};
216+
AxisSpec qxZDCAxis = {configbins.QxyNbins, configbins.lbinQxy, configbins.hbinQxy, "Qx"};
217+
AxisSpec phiAxis = {configbins.PhiNbins, -6.28, 6.28, "phi"};
218+
AxisSpec vzAxis = {configbins.VzNbins, configbins.lbinVz, configbins.hbinVz, "vz"};
219+
AxisSpec vxAxis = {configbins.VxNbins, configbins.lbinVx, configbins.hbinVx, "vx"};
220+
AxisSpec vyAxis = {configbins.VyNbins, configbins.lbinVy, configbins.hbinVy, "vy"};
221+
AxisSpec centAxis = {configbins.CentNbins, configbins.lbinCent, configbins.hbinCent, "V0M (%)"};
222+
AxisSpec vzfineAxis = {configbins.VzfineNbins, configbins.lfinebinVz, configbins.hfinebinVz, "vzfine"};
223+
AxisSpec vxfineAxis = {configbins.VxfineNbins, configbins.lfinebinVx, configbins.hfinebinVx, "vxfine"};
224+
AxisSpec vyfineAxis = {configbins.VyfineNbins, configbins.lfinebinVy, configbins.hfinebinVy, "vyfine"};
225+
AxisSpec centfineAxis = {configbins.CentfineNbins, configbins.lfinebinCent, configbins.hfinebinCent, "V0M (%) fine"};
217226
AxisSpec shiftAxis = {10, 0, 10, "shift"};
218227
AxisSpec basisAxis = {2, 0, 2, "basis"};
219228
AxisSpec VxyAxis = {2, 0, 2, "Vxy"};
@@ -292,10 +301,10 @@ struct spvector {
292301
TH2F* hrecenterevySp;
293302
TH2F* hrecenterevzSp;*/
294303
std::array<THnF*, 6> hrecentereSpA; // Array of 6 histograms
295-
std::array<TH2F*, 5> hrecenterecentSpA; // Array of 5 histograms
296-
std::array<TH2F*, 5> hrecenterevxSpA; // Array of 5 histograms
297-
std::array<TH2F*, 5> hrecenterevySpA; // Array of 5 histograms
298-
std::array<TH2F*, 5> hrecenterevzSpA; // Array of 5 histograms
304+
std::array<TH2F*, 6> hrecenterecentSpA; // Array of 5 histograms
305+
std::array<TH2F*, 6> hrecenterevxSpA; // Array of 5 histograms
306+
std::array<TH2F*, 6> hrecenterevySpA; // Array of 5 histograms
307+
std::array<TH2F*, 6> hrecenterevzSpA; // Array of 5 histograms
299308
TProfile3D* shiftprofileA;
300309
TProfile3D* shiftprofileC;
301310

@@ -459,8 +468,13 @@ struct spvector {
459468
return;
460469
}
461470

462-
// if (collision.sel8() && centrality > cfgCutCentralityMin && centrality < cfgCutCentralityMax && TMath::Abs(vz) < cfgCutVertex && collision.has_foundFT0() && eventSelected(collision, centrality) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
463-
if (collision.sel8() && centrality > cfgCutCentralityMin && centrality < cfgCutCentralityMax && TMath::Abs(vz) < cfgCutVertex && collision.has_foundFT0() && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoITSROFrameBorder) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) {
471+
if (additionalEvSel && (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))) {
472+
triggerevent = false;
473+
spcalibrationtable(triggerevent, currentRunNumber, centrality, vx, vy, vz, znaEnergycommon, zncEnergycommon, znaEnergy[0], znaEnergy[1], znaEnergy[2], znaEnergy[3], zncEnergy[0], zncEnergy[1], zncEnergy[2], zncEnergy[3], qxZDCA, qxZDCC, qyZDCA, qyZDCC, psiZDCC, psiZDCA);
474+
return;
475+
}
476+
477+
if (collision.sel8() && centrality > cfgCutCentralityMin && centrality < cfgCutCentralityMax && TMath::Abs(vz) < cfgCutVertex && collision.has_foundFT0() && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
464478
triggerevent = true;
465479
if (useGainCallib && (currentRunNumber != lastRunNumber)) {
466480
gainprofile = ccdb->getForTimeStamp<TH2D>(ConfGainPath.value, bc.timestamp());
@@ -645,6 +659,16 @@ struct spvector {
645659
res = Correctcoarse(hrecentereSpA[5], centrality, vx, vy, vz, qxZDCA, qyZDCA, qxZDCC, qyZDCC);
646660
}
647661

662+
if (fine6) {
663+
if (useRecenterefineSp && (currentRunNumber != lastRunNumber)) {
664+
hrecenterecentSpA[5] = ccdb->getForTimeStamp<TH2F>(ConfRecenterecentSp6.value, bc.timestamp());
665+
hrecenterevxSpA[5] = ccdb->getForTimeStamp<TH2F>(ConfRecenterevxSp6.value, bc.timestamp());
666+
hrecenterevySpA[5] = ccdb->getForTimeStamp<TH2F>(ConfRecenterevySp6.value, bc.timestamp());
667+
hrecenterevzSpA[5] = ccdb->getForTimeStamp<TH2F>(ConfRecenterevzSp6.value, bc.timestamp());
668+
}
669+
resfine = Correctfine(hrecenterecentSpA[5], hrecenterevxSpA[5], hrecenterevySpA[5], hrecenterevzSpA[5], centrality, vx, vy, vz, qxZDCA, qyZDCA, qxZDCC, qyZDCC);
670+
}
671+
648672
if (res == 0 && resfine == 0 && check == 0) {
649673
LOG(info) << "Histograms are null";
650674
}

0 commit comments

Comments
 (0)