|
25 | 25 | #include <vector> |
26 | 26 | #include <TComplex.h> |
27 | 27 | #include <TMath.h> |
| 28 | +#include <cstdio> |
28 | 29 |
|
29 | 30 | // o2Physics includes. |
30 | 31 | #include "Framework/AnalysisDataModel.h" |
@@ -95,9 +96,14 @@ struct epvector { |
95 | 96 | Configurable<bool> useGainCallib{"useGainCallib", true, "use gain calibration"}; |
96 | 97 | Configurable<bool> useRecentere{"useRecentere", true, "use Recentering"}; |
97 | 98 | Configurable<bool> useShift{"useShift", false, "use Shift"}; |
| 99 | + Configurable<bool> useShift2{"useShift2", false, "use Shift for others"}; |
98 | 100 | Configurable<std::string> ConfGainPath{"ConfGainPath", "Users/s/skundu/My/Object/test100", "Path to gain calibration"}; |
99 | 101 | Configurable<std::string> ConfRecentere{"ConfRecentere", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for recentere"}; |
100 | 102 | Configurable<std::string> ConfShift{"ConfShift", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift"}; |
| 103 | + Configurable<std::string> ConfShiftFT0A{"ConfShiftFT0A", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift FT0A"}; |
| 104 | + Configurable<std::string> ConfShiftTPC{"ConfShiftTPC", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift TPC"}; |
| 105 | + Configurable<std::string> ConfShiftTPCL{"ConfShiftTPCL", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift TPCL"}; |
| 106 | + Configurable<std::string> ConfShiftTPCR{"ConfShiftTPCR", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift TPCR"}; |
101 | 107 | ConfigurableAxis configAxisCentrality{"configAxisCentrality", {80, 0.0, 80}, "centrality bining"}; |
102 | 108 | // Event selection cuts - Alex |
103 | 109 | TF1* fMultPVCutLow = nullptr; |
@@ -166,6 +172,10 @@ struct epvector { |
166 | 172 | histos.add("QTPC", "QTPC", kTH3F, {centAxis, qAxis, occupancyAxis}); |
167 | 173 |
|
168 | 174 | histos.add("ShiftFT0C", "ShiftFT0C", kTProfile3D, {centAxis, basisAxis, shiftAxis}); |
| 175 | + histos.add("ShiftFT0A", "ShiftFT0A", kTProfile3D, {centAxis, basisAxis, shiftAxis}); |
| 176 | + histos.add("ShiftTPC", "ShiftTPC", kTProfile3D, {centAxis, basisAxis, shiftAxis}); |
| 177 | + histos.add("ShiftTPCL", "ShiftTPCL", kTProfile3D, {centAxis, basisAxis, shiftAxis}); |
| 178 | + histos.add("ShiftTPCR", "ShiftTPCR", kTProfile3D, {centAxis, basisAxis, shiftAxis}); |
169 | 179 |
|
170 | 180 | // Event selection cut additional - Alex |
171 | 181 | // if (additionalEvsel) { |
@@ -254,6 +264,10 @@ struct epvector { |
254 | 264 | TProfile* gainprofile; |
255 | 265 | TH2D* hrecentere; |
256 | 266 | TProfile3D* shiftprofile; |
| 267 | + TProfile3D* shiftprofile2; |
| 268 | + TProfile3D* shiftprofile3; |
| 269 | + TProfile3D* shiftprofile4; |
| 270 | + TProfile3D* shiftprofile5; |
257 | 271 |
|
258 | 272 | Filter acceptanceFilter = (nabs(aod::track::eta) < cfgCutEta && nabs(aod::track::pt) > cfgCutPT); |
259 | 273 | Filter DCAcutFilter = (nabs(aod::track::dcaXY) < cfgCutDCAxy) && (nabs(aod::track::dcaZ) < cfgCutDCAz); |
@@ -361,15 +375,46 @@ struct epvector { |
361 | 375 |
|
362 | 376 | if (useShift && (currentRunNumber != lastRunNumber)) { |
363 | 377 | shiftprofile = ccdb->getForTimeStamp<TProfile3D>(ConfShift.value, bc.timestamp()); |
| 378 | + if (useShift2) { |
| 379 | + shiftprofile2 = ccdb->getForTimeStamp<TProfile3D>(ConfShiftFT0A.value, bc.timestamp()); |
| 380 | + shiftprofile3 = ccdb->getForTimeStamp<TProfile3D>(ConfShiftTPC.value, bc.timestamp()); |
| 381 | + shiftprofile4 = ccdb->getForTimeStamp<TProfile3D>(ConfShiftTPCL.value, bc.timestamp()); |
| 382 | + shiftprofile5 = ccdb->getForTimeStamp<TProfile3D>(ConfShiftTPCR.value, bc.timestamp()); |
| 383 | + } |
364 | 384 | } |
365 | 385 | if (useShift) { |
366 | 386 | auto deltapsiFT0C = 0.0; |
| 387 | + auto deltapsiFT0A = 0.0; |
| 388 | + auto deltapsiTPC = 0.0; |
| 389 | + auto deltapsiTPCL = 0.0; |
| 390 | + auto deltapsiTPCR = 0.0; |
367 | 391 | for (int ishift = 1; ishift <= 10; ishift++) { |
368 | 392 | auto coeffshiftxFT0C = shiftprofile->GetBinContent(shiftprofile->FindBin(centrality, 0.5, ishift - 0.5)); |
369 | 393 | auto coeffshiftyFT0C = shiftprofile->GetBinContent(shiftprofile->FindBin(centrality, 1.5, ishift - 0.5)); |
370 | 394 | deltapsiFT0C = deltapsiFT0C + ((1 / (1.0 * ishift)) * (-coeffshiftxFT0C * TMath::Cos(ishift * 2.0 * psiFT0C) + coeffshiftyFT0C * TMath::Sin(ishift * 2.0 * psiFT0C))); |
| 395 | + if (useShift2) { |
| 396 | + auto coeffshiftxFT0A = shiftprofile2->GetBinContent(shiftprofile2->FindBin(centrality, 0.5, ishift - 0.5)); |
| 397 | + auto coeffshiftyFT0A = shiftprofile2->GetBinContent(shiftprofile2->FindBin(centrality, 1.5, ishift - 0.5)); |
| 398 | + |
| 399 | + auto coeffshiftxTPC = shiftprofile3->GetBinContent(shiftprofile3->FindBin(centrality, 0.5, ishift - 0.5)); |
| 400 | + auto coeffshiftyTPC = shiftprofile3->GetBinContent(shiftprofile3->FindBin(centrality, 1.5, ishift - 0.5)); |
| 401 | + |
| 402 | + auto coeffshiftxTPCL = shiftprofile4->GetBinContent(shiftprofile4->FindBin(centrality, 0.5, ishift - 0.5)); |
| 403 | + auto coeffshiftyTPCL = shiftprofile4->GetBinContent(shiftprofile4->FindBin(centrality, 1.5, ishift - 0.5)); |
| 404 | + |
| 405 | + auto coeffshiftxTPCR = shiftprofile5->GetBinContent(shiftprofile5->FindBin(centrality, 0.5, ishift - 0.5)); |
| 406 | + auto coeffshiftyTPCR = shiftprofile5->GetBinContent(shiftprofile5->FindBin(centrality, 1.5, ishift - 0.5)); |
| 407 | + deltapsiFT0A = deltapsiFT0A + ((1 / (1.0 * ishift)) * (-coeffshiftxFT0A * TMath::Cos(ishift * 2.0 * psiFT0A) + coeffshiftyFT0A * TMath::Sin(ishift * 2.0 * psiFT0A))); |
| 408 | + deltapsiTPC = deltapsiTPC + ((1 / (1.0 * ishift)) * (-coeffshiftxTPC * TMath::Cos(ishift * 2.0 * psiTPC) + coeffshiftyTPC * TMath::Sin(ishift * 2.0 * psiTPC))); |
| 409 | + deltapsiTPCL = deltapsiTPCL + ((1 / (1.0 * ishift)) * (-coeffshiftxTPCL * TMath::Cos(ishift * 2.0 * psiTPCL) + coeffshiftyTPCL * TMath::Sin(ishift * 2.0 * psiTPCL))); |
| 410 | + deltapsiTPCR = deltapsiTPCR + ((1 / (1.0 * ishift)) * (-coeffshiftxTPCR * TMath::Cos(ishift * 2.0 * psiTPCR) + coeffshiftyTPCR * TMath::Sin(ishift * 2.0 * psiTPCR))); |
| 411 | + } |
371 | 412 | } |
372 | 413 | psiFT0C = psiFT0C + deltapsiFT0C; |
| 414 | + psiFT0A = psiFT0A + deltapsiFT0A; |
| 415 | + psiTPC = psiTPC + deltapsiTPC; |
| 416 | + psiTPCL = psiTPCL + deltapsiTPCL; |
| 417 | + psiTPCR = psiTPCR + deltapsiTPCR; |
373 | 418 | } |
374 | 419 | histos.fill(HIST("QxFT0C"), centrality, qxFT0C); |
375 | 420 | histos.fill(HIST("QyFT0C"), centrality, qyFT0C); |
@@ -416,6 +461,18 @@ struct epvector { |
416 | 461 | for (int ishift = 1; ishift <= 10; ishift++) { |
417 | 462 | histos.fill(HIST("ShiftFT0C"), centrality, 0.5, ishift - 0.5, TMath::Sin(ishift * 2.0 * psiFT0C)); |
418 | 463 | histos.fill(HIST("ShiftFT0C"), centrality, 1.5, ishift - 0.5, TMath::Cos(ishift * 2.0 * psiFT0C)); |
| 464 | + |
| 465 | + histos.fill(HIST("ShiftFT0A"), centrality, 0.5, ishift - 0.5, TMath::Sin(ishift * 2.0 * psiFT0A)); |
| 466 | + histos.fill(HIST("ShiftFT0A"), centrality, 1.5, ishift - 0.5, TMath::Cos(ishift * 2.0 * psiFT0A)); |
| 467 | + |
| 468 | + histos.fill(HIST("ShiftTPC"), centrality, 0.5, ishift - 0.5, TMath::Sin(ishift * 2.0 * psiTPC)); |
| 469 | + histos.fill(HIST("ShiftTPC"), centrality, 1.5, ishift - 0.5, TMath::Cos(ishift * 2.0 * psiTPC)); |
| 470 | + |
| 471 | + histos.fill(HIST("ShiftTPCL"), centrality, 0.5, ishift - 0.5, TMath::Sin(ishift * 2.0 * psiTPCL)); |
| 472 | + histos.fill(HIST("ShiftTPCL"), centrality, 1.5, ishift - 0.5, TMath::Cos(ishift * 2.0 * psiTPCL)); |
| 473 | + |
| 474 | + histos.fill(HIST("ShiftTPCR"), centrality, 0.5, ishift - 0.5, TMath::Sin(ishift * 2.0 * psiTPCR)); |
| 475 | + histos.fill(HIST("ShiftTPCR"), centrality, 1.5, ishift - 0.5, TMath::Cos(ishift * 2.0 * psiTPCR)); |
419 | 476 | } |
420 | 477 | lastRunNumber = currentRunNumber; |
421 | 478 | } |
|
0 commit comments