30 FemtoDumpPairAna::FemtoDumpPairAna() : fBinLimit(10000), fLimitsN(), fLimitsD(), fWriteBackground(kFALSE) {}
43 void FemtoDumpPairAna::ProcessFemtoPair_Rotated() {
44 fFemtoPair->Compute_Rotated();
45 Int_t bin = fGrouping.GetBin(fFemtoPair);
47 if (fLimitsN[bin] < fBinLimit) {
54 void FemtoDumpPairAna::ProcessFemtoPair_Hemisphere() {
55 fFemtoPair->Compute_Hemisphere();
56 Int_t bin = fGrouping.GetBin(fFemtoPair);
58 if (fLimitsN[bin] < fBinLimit) {
76 Task::EInitFlag FemtoDumpPairAna::Init() {
77 Task::EInitFlag stat = FemtoBasicAna::Init();
78 if (stat == Task::EInitFlag::kFATAL)
return stat;
86 if (dummy->
GetNum()->InheritsFrom(
"TH3")) {
87 fGrouping.SetGroupByKLong();
88 Std::GetAxisPar(*dummy->
GetNum(), bins, min, max,
"z");
90 fGrouping.GroupByKStar();
91 Std::GetAxisPar(*dummy->
GetNum(), bins, min, max,
"x");
93 fGrouping.SetFrame(fFemtoPair->GetFrame());
94 fGrouping.SetAxis(bins, min, max);
95 fLimitsN.MakeBigger(bins);
96 fLimitsD.MakeBigger(bins);
97 auto vec = fGrouping.GetBranchesByValue(0, 0, kTRUE);
99 for (
auto branchName : vec) {
100 fSignalPairs.push_back(
new TClonesArray(
"Hal::FemtoMicroPair", 100));
101 mngr->
Register(branchName,
"FemtoPairs", fSignalPairs[idx++], kTRUE);
103 if (fWriteBackground) {
105 vec = fGrouping.GetBranchesByValue(0, 0, kFALSE);
106 for (
auto branchName : vec) {
107 fBackgroundPairs.push_back(
new TClonesArray(
"Hal::FemtoMicroPair", 100));
108 mngr->
Register(branchName,
"FemtoPairs", fBackgroundPairs[idx++], kTRUE);
112 if (IdenticalParticles())
113 fBackgroundMode = kNoBackgroundID;
115 fBackgroundMode = kNoBackgroundNID;
116 return Task::EInitFlag::kSUCCESS;