35#include "FairRootManager.h"
36#include "KFParticle/KFParticle.h"
497 FairRootManager* ioman = FairRootManager::Instance();
498 if (
nullptr == ioman) { Fatal(
"CbmKresConversionPhotons::Init",
"RootManager not instantised!"); }
500 fMcTracks = (TClonesArray*) ioman->GetObject(
"MCTrack");
501 if (
nullptr ==
fMcTracks) { Fatal(
"CbmKresConversionPhotons::Init",
"No MCTrack array!"); }
505 if (
nullptr ==
fPrimVertex) { LOG(fatal) <<
"CbmKresConversionPhotons::Init No PrimaryVertex array!"; }
507 fGlobalTracks = (TClonesArray*) ioman->GetObject(
"GlobalTrack");
508 if (
nullptr ==
fGlobalTracks) { Fatal(
"CbmKresConversionPhotons::Init",
"No GlobalTrack array!"); }
510 fStsTracks = (TClonesArray*) ioman->GetObject(
"StsTrack");
511 if (
nullptr ==
fStsTracks) { Fatal(
"CbmKresConversionPhotons::Init",
"No StsTrack array!"); }
514 if (
nullptr ==
fStsTrackMatches) { Fatal(
"CbmKresConversionPhotons::Init",
"No StsTrackMatch array!"); }
517 if (
nullptr ==
fRichProjections) { Fatal(
"CbmKresConversionPhotons::Init",
"No RichProjection array!"); }
519 fRichRings = (TClonesArray*) ioman->GetObject(
"RichRing");
520 if (
nullptr ==
fRichRings) { Fatal(
"CbmKresConversionPhotons::Init",
"No RichRing array!"); }
523 if (
nullptr ==
fRichRingMatches) { Fatal(
"CbmKresConversionPhotons::Init",
"No RichRingMatch array!"); }
525 fRichHits = (TClonesArray*) ioman->GetObject(
"RichHit");
526 if (
nullptr ==
fRichHits) { Fatal(
"CbmKresConversionPhotons::Init",
"No RichHit array!"); }
528 fArrayMvdHit = (TClonesArray*) ioman->GetObject(
"MvdHit");
529 if (
nullptr ==
fArrayMvdHit) { Fatal(
"CbmKresConversionPhotons::Init",
"No MvdHit array!"); }
531 fArrayStsHit = (TClonesArray*) ioman->GetObject(
"StsHit");
532 if (
nullptr ==
fArrayStsHit) { Fatal(
"CbmKresConversionPhotons::Init",
"No StsHit array!"); }
547 cout <<
"\t *** CbmKresTrainAnnDirectPhotons ==> is "
557 cout <<
"\t *** CbmKresSelectAnnPhotons ==> is "
566 cout <<
"CbmKresConversionPhotons, event No. " << fEventNumDP << endl;
570 Fatal(
"CbmKresConversionPhotons::Exec",
"No PrimaryVertex array!");
647 for (
Int_t i = 0; i < ngTracks; i++) {
649 if (
nullptr == gTrack)
continue;
653 if (stsInd < 0)
continue;
655 if (stsTrack ==
nullptr)
continue;
657 if (stsMatch ==
nullptr)
continue;
660 if (stsMcTrackId < 0)
continue;
662 if (mcTrack ==
nullptr)
continue;
666 if (richInd < 0 && proj->GetX() > -115 && proj->GetX() < 115
667 && ((proj->GetY() < -120 && proj->GetY() > -200) || (proj->GetY() > 120 && proj->GetY() < 200)))
682 double charge = track_par->GetQp();
685 if (chi2 != chi2)
continue;
686 if (chi2 == 0)
continue;
688 if (chi2 > 3) {
SaveOutsideTracks(mcTrack, stsTrack, charge, stsInd, richInd, stsMcTrackId, Ring); }
689 if (chi2 > 3)
continue;
691 SaveTargetTracks(mcTrack, stsTrack, Momentum, charge, stsInd, richInd, stsMcTrackId, Ring);
709 int numformix = 1000;
710 if (fEventNumDP % numformix == 0) {
723 if (fEventNumDP % numformix == 0) {
764 int InRich =
FindInRich(richInd, stsMcTrackId);
782 double charge,
int stsInd,
int richInd,
int stsMcTrackId,
785 int InRich =
FindInRich(richInd, stsMcTrackId);
806 vector<CbmMCTrack*> MCtracks_minus, vector<CbmMCTrack*> MCtracks_plus,
807 vector<CbmStsTrack*> StsTrack_minus, vector<CbmStsTrack*> StsTrack_plus,
808 vector<TVector3> Momenta_minus, vector<TVector3> Momenta_plus,
809 std::vector<int> Rings_minus, std::vector<int> Rings_plus,
810 std::vector<int> stsIndex_minus, std::vector<int> stsIndex_plus,
811 vector<CbmRichRing*> richRing_minus, vector<CbmRichRing*> richRing_plus)
813 for (
size_t i = 0; i < Momenta_minus.size(); i++) {
814 for (
size_t j = 0; j < Momenta_plus.size(); j++) {
819 TVector3 part1 = Momenta_minus[i];
820 TVector3 part2 = Momenta_plus[j];
823 int sts1_index = stsIndex_minus[i];
824 int sts2_index = stsIndex_plus[j];
830 richcheck_0 =
CheckIfElectron(richRing_minus[i], Momenta_minus[i].Mag());
831 richcheck_1 =
CheckIfElectron(richRing_plus[j], Momenta_plus[j].Mag());
835 richcheck_0 = Rings_minus[i];
836 richcheck_1 = Rings_plus[j];
838 int richcheck = richcheck_0 + richcheck_1;
874 fTrainPhotons->Exec(EventNumMan, IdForANN, InvmassReco, OpeningAngle, PlaneAngle_last,
fKFVertex.GetRefZ(),
879 double AnnValue = 999;
895 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
896 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
901 int fromFireball = 0;
905 int fromCombinatorial = 0;
906 int fromConversion = 0;
907 int twoFromTarget = 0;
911 if (mcTrackmama->
GetMotherId() == -1) { fromFireball = 1; }
914 if (mcTrackGrmama->
GetPdgCode() == 111) fromPions = 1;
915 if (mcTrackGrmama->
GetPdgCode() == 221) fromEta = 1;
916 if (mcTrackGrmama->
GetPdgCode() == 3212) fromXi = 1;
921 if (mcTrackmama->
GetPdgCode() == 111) fromDalitz = 1;
922 if (mcTrackmama->
GetPdgCode() != 111) fromOther = 1;
929 fromCombinatorial = 1;
953 frefId.push_back(stsIndex_minus[i]);
954 frefId.push_back(stsIndex_plus[j]);
961 std::vector<TVector3> minusTrack =
SaveAllHits(sts1);
962 std::vector<TVector3> plusTrack =
SaveAllHits(sts2);
987 if (richcheck == 0 || richcheck == 1 || richcheck == 2) {
1003 if (fromFireball == 1) {
1008 if (fromPions == 1) {
1016 if (fromDalitz == 1) {
1023 if (richcheck == 0) {
1039 if (fromFireball == 1) {
1044 if (fromPions == 1) {
1052 if (fromDalitz == 1) {
1059 if (richcheck == 1) {
1075 if (fromFireball == 1) {
1080 if (fromPions == 1) {
1088 if (fromDalitz == 1) {
1095 if (richcheck == 2) {
1111 if (fromFireball == 1) {
1118 if (fromPions == 1) {
1126 if (fromDalitz == 1) {
1132 if (fromCombinatorial == 1) {
1170 else if (TMath::Abs(part1MC->
GetPdgCode()) == 211 && TMath::Abs(part2MC->
GetPdgCode()) == 211) {
1189 || (mama1PDG == 111 && mama2PDG == 22
1217 if (fromConversion == 1) {
1221 if (twoFromTarget == 1) {
1232 if (richcheck == 1 || richcheck == 2) {
1248 if (fromFireball == 1) {
1255 if (fromPions == 1) {
1263 if (fromDalitz == 1) {
1269 if (fromCombinatorial == 1) {
1307 else if (TMath::Abs(part1MC->
GetPdgCode()) == 211 && TMath::Abs(part2MC->
GetPdgCode()) == 211) {
1326 || (mama1PDG == 111 && mama2PDG == 22
1345 if (TMath::Abs(part1MC->
GetPdgCode() == 11)) {
1351 if (TMath::Abs(part2MC->
GetPdgCode() == 11)) {
1358 if (fromConversion == 1) {
1362 if (twoFromTarget == 1) {
1377 int EventNumMan,
double AngleCut,
double InvMassCut,
int RealPID, vector<CbmMCTrack*> MCtracks_minus_Outside,
1378 vector<CbmMCTrack*> MCtracks_plus_Outside, vector<CbmStsTrack*> StsTrack_minus_Outside,
1379 vector<CbmStsTrack*> StsTrack_plus_Outside, std::vector<int> Rings_minus_Outside, std::vector<int> Rings_plus_Outside,
1380 std::vector<int> stsIndex_minus_Outside, std::vector<int> stsIndex_plus_Outside,
1381 vector<CbmRichRing*> richRing_minus_Outside, vector<CbmRichRing*> richRing_plus_Outside)
1383 for (
size_t i = 0; i < StsTrack_minus_Outside.size(); i++) {
1384 for (
size_t j = 0; j < StsTrack_plus_Outside.size(); j++) {
1386 CbmStsTrack* part1STS = StsTrack_minus_Outside[i];
1388 CbmMCTrack* part1MC = MCtracks_minus_Outside[i];
1389 CbmMCTrack* part2MC = MCtracks_plus_Outside[j];
1390 int sts1_index = stsIndex_minus_Outside[i];
1393 KFParticle electron;
1395 KFParticle positron;
1397 const KFParticle* daughters[2] = {&electron, &positron};
1398 KFParticle intersection;
1399 intersection.Construct(daughters, 2);
1401 if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
continue;
1413 int richcheck_0 = 0;
1414 int richcheck_1 = 0;
1417 richcheck_0 =
CheckIfElectron(richRing_minus_Outside[i], part1.Mag());
1419 richcheck = richcheck_0 + richcheck_1;
1423 richcheck = Rings_minus_Outside[i] + Rings_plus_Outside[j];
1461 fTrainPhotons->Exec(EventNumMan, IdForANN, InvmassReco, OpeningAngle, PlaneAngle_last, intersection.GetZ(),
1466 double AnnValue = 999;
1469 fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, intersection.GetZ(), part1, part2);
1480 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
1481 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
1487 int fromFireball = 0;
1491 int fromCombinatorial = 0;
1492 int fromConversion = 0;
1493 int twoFromTarget = 0;
1497 if (mcTrackmama->
GetMotherId() == -1) { fromFireball = 1; }
1500 if (mcTrackGrmama->
GetPdgCode() == 111) fromPions = 1;
1501 if (mcTrackGrmama->
GetPdgCode() == 221) fromEta = 1;
1502 if (mcTrackGrmama->
GetPdgCode() == 3212) fromXi = 1;
1507 if (mcTrackmama->
GetPdgCode() == 111) fromDalitz = 1;
1508 if (mcTrackmama->
GetPdgCode() != 111) fromOther = 1;
1515 fromCombinatorial = 1;
1541 frefId.push_back(stsIndex_minus_Outside[i]);
1542 frefId.push_back(stsIndex_plus_Outside[j]);
1549 std::vector<TVector3> minusTrack =
SaveAllHits(part1STS);
1550 std::vector<TVector3> plusTrack =
SaveAllHits(part2STS);
1576 if (richcheck == 0 || richcheck == 1 || richcheck == 2) {
1592 if (fromFireball == 1) {
1597 if (fromPions == 1) {
1605 if (fromDalitz == 1) {
1612 if (richcheck == 0) {
1628 if (fromFireball == 1) {
1633 if (fromPions == 1) {
1641 if (fromDalitz == 1) {
1648 if (richcheck == 1) {
1664 if (fromFireball == 1) {
1669 if (fromPions == 1) {
1677 if (fromDalitz == 1) {
1684 if (richcheck == 2) {
1700 if (fromFireball == 1) {
1707 if (fromPions == 1) {
1715 if (fromDalitz == 1) {
1721 if (fromCombinatorial == 1) {
1759 else if (TMath::Abs(part1MC->
GetPdgCode()) == 211 && TMath::Abs(part2MC->
GetPdgCode()) == 211) {
1778 || (mama1PDG == 111 && mama2PDG == 22
1806 if (fromConversion == 1) {
1810 if (twoFromTarget == 1) {
1821 if (richcheck == 1 || richcheck == 2) {
1837 if (fromFireball == 1) {
1844 if (fromPions == 1) {
1852 if (fromDalitz == 1) {
1858 if (fromCombinatorial == 1) {
1896 else if (TMath::Abs(part1MC->
GetPdgCode()) == 211 && TMath::Abs(part2MC->
GetPdgCode()) == 211) {
1915 || (mama1PDG == 111 && mama2PDG == 22
1934 if (TMath::Abs(part1MC->
GetPdgCode() == 11)) {
1940 if (TMath::Abs(part2MC->
GetPdgCode() == 11)) {
1947 if (fromConversion == 1) {
1951 if (twoFromTarget == 1) {
2015 int RingsInRich = 0;
2018 if (richMatch !=
nullptr && richMatch->
GetNofLinks() > 0) {
2020 if (richMcTrackId > 0) {
2021 if (stsMcTrackId == richMcTrackId) {
2023 if (mcTrack2 !=
nullptr) {
2025 if (TMath::Abs(pdgRICH) == 11) RingsInRich++;
2039 if (
nullptr != ring) {
2042 for (
int i = 0; i < nofHits; i++) {
2043 int hitInd = ring->
GetHit(i);
2045 if (
nullptr == hit)
continue;
2051 && momentum > 0.2 && momentum < 4.)
2061 std::vector<TVector3> AllHitsOfTrack;
2062 AllHitsOfTrack.clear();
2067 for (
int i = 0; i < hitsMVD; i++) {
2072 AllHitsOfTrack.push_back(position);
2074 for (
int i = 0; i < hitsSTS; i++) {
2079 AllHitsOfTrack.push_back(position);
2082 return AllHitsOfTrack;
2086 std::vector<TVector3> track_2)
2088 double FinalAngle = 400;
2090 int hits_1 = track_1.size();
2091 int hits_2 = track_2.size();
2100 TVector3 last1 = track_1[hits_1 - 1];
2101 TVector3 last2 = track_2[hits_2 - 1];
2104 if (TMath::Abs(last1.Z() - last2.Z()) > 2
2105 && last1.Z() > last2.Z()) {
2106 for (
int i = hits_1 - 2; i > -1; i--) {
2107 if (TMath::Abs(last1.Z() - last2.Z()) < 2)
continue;
2115 if (TMath::Abs(last1.Z() - last2.Z()) > 2
2116 && last1.Z() < last2.Z()) {
2117 for (
int i = hits_2 - 2; i > -1; i--) {
2118 if (TMath::Abs(last1.Z() - last2.Z()) < 2)
continue;
2127 if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2128 FinalAngle = TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2131 return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2137 double FinalAngle = 400;
2152 Xpart1 = stsHit1->
GetX();
2153 Ypart1 = stsHit1->
GetY();
2154 Zpart1 = stsHit1->
GetZ();
2159 Xpart1 = mvdHit1->
GetX();
2160 Ypart1 = mvdHit1->
GetY();
2161 Zpart1 = mvdHit1->
GetZ();
2167 Xpart2 = stsHit2->
GetX();
2168 Ypart2 = stsHit2->
GetY();
2169 Zpart2 = stsHit2->
GetZ();
2174 Xpart2 = mvdHit2->
GetX();
2175 Ypart2 = mvdHit2->
GetY();
2176 Zpart2 = mvdHit2->
GetZ();
2180 if (TMath::Abs(Zpart1 - Zpart2) > 2
2181 && Zpart1 > Zpart2) {
2182 for (
int i = hits1sts - 2; i > -1; i--) {
2183 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2186 Xpart1 = stsHit->
GetX();
2187 Ypart1 = stsHit->
GetY();
2188 Zpart1 = stsHit->
GetZ();
2190 if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 > Zpart2) {
2191 for (
int i = hits1mvd - 2; i > -1; i--) {
2192 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2195 Xpart1 = mvdHit->
GetX();
2196 Ypart1 = mvdHit->
GetY();
2197 Zpart1 = mvdHit->
GetZ();
2202 if (TMath::Abs(Zpart1 - Zpart2) > 2
2203 && Zpart1 < Zpart2) {
2204 for (
int i = hits2sts - 2; i > -1; i--) {
2205 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2208 Xpart2 = stsHit->
GetX();
2209 Ypart2 = stsHit->
GetY();
2210 Zpart2 = stsHit->
GetZ();
2212 if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 < Zpart2) {
2213 for (
int i = hits2mvd - 2; i > -1; i--) {
2214 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2217 Xpart2 = mvdHit->
GetX();
2218 Ypart2 = mvdHit->
GetY();
2219 Zpart2 = mvdHit->
GetZ();
2225 if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2226 FinalAngle = TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2229 return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2234 double FinalAngle = 400;
2249 Xpart1 = mvdHit1->
GetX();
2250 Ypart1 = mvdHit1->
GetY();
2251 Zpart1 = mvdHit1->
GetZ();
2256 Xpart1 = stsHit1->
GetX();
2257 Ypart1 = stsHit1->
GetY();
2258 Zpart1 = stsHit1->
GetZ();
2264 Xpart2 = mvdHit2->
GetX();
2265 Ypart2 = mvdHit2->
GetY();
2266 Zpart2 = mvdHit2->
GetZ();
2271 Xpart2 = stsHit2->
GetX();
2272 Ypart2 = stsHit2->
GetY();
2273 Zpart2 = stsHit2->
GetZ();
2277 if (TMath::Abs(Zpart1 - Zpart2) > 2
2278 && Zpart1 < Zpart2) {
2279 for (
int i = 1; i < hits1mvd; i++) {
2280 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2283 Xpart1 = mvdHit->
GetX();
2284 Ypart1 = mvdHit->
GetY();
2285 Zpart1 = mvdHit->
GetZ();
2287 if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 < Zpart2) {
2288 for (
int i = 0; i < hits1sts; i++) {
2289 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2292 Xpart1 = stsHit->
GetX();
2293 Ypart1 = stsHit->
GetY();
2294 Zpart1 = stsHit->
GetZ();
2299 if (TMath::Abs(Zpart1 - Zpart2) > 2
2300 && Zpart1 > Zpart2) {
2301 for (
int i = 1; i < hits2mvd; i++) {
2302 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2305 Xpart2 = mvdHit->
GetX();
2306 Ypart2 = mvdHit->
GetY();
2307 Zpart2 = mvdHit->
GetZ();
2309 if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 > Zpart2) {
2310 for (
int i = 0; i < hits2sts; i++) {
2311 if (TMath::Abs(Zpart1 - Zpart2) < 2)
continue;
2314 Xpart2 = stsHit->
GetX();
2315 Ypart2 = stsHit->
GetY();
2316 Zpart2 = stsHit->
GetZ();
2322 if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2323 FinalAngle = TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2326 return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2333 for (
int a = 0; a < nof_minus - 1; a++) {
2334 for (
int b = a + 1; b < nof_minus; b++) {
2349 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2350 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2372 for (
int a = 0; a < nof_plus - 1; a++) {
2373 for (
int b = a + 1; b < nof_plus; b++) {
2388 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2389 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2414 for (
int a = 0; a < nof_minus - 1; a++) {
2415 for (
int b = a + 1; b < nof_minus; b++) {
2420 KFParticle electron;
2422 KFParticle positron;
2424 const KFParticle* daughters[2] = {&electron, &positron};
2425 KFParticle intersection;
2426 intersection.Construct(daughters, 2);
2428 if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
continue;
2441 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2442 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2464 for (
int a = 0; a < nof_plus - 1; a++) {
2465 for (
int b = a + 1; b < nof_plus; b++) {
2470 KFParticle electron;
2472 KFParticle positron;
2474 const KFParticle* daughters[2] = {&electron, &positron};
2475 KFParticle intersection;
2476 intersection.Construct(daughters, 2);
2478 if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
continue;
2491 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2492 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2518 cout <<
"Mixing for direct photons in Target - nof entries " << nof_Target << endl;
2537 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2538 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2546 if (rings_amount == 0) {
2550 if (rings_amount == 1) {
2554 if (rings_amount == 2) {
2558 if ((rings_amount == 1 || rings_amount == 2)) {
2571 cout <<
"Mixing for direct photons in Outside - nof entries " << nof_Outside << endl;
2581 const KFParticle* daughters[2] = {&electron, &positron};
2582 KFParticle intersection;
2583 intersection.Construct(daughters, 2);
2585 if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
continue;
2590 TVector3 e1(electron.KFParticleBase::Px(), electron.KFParticleBase::Py(), electron.KFParticleBase::Pz());
2591 TVector3 e2(positron.KFParticleBase::Px(), positron.KFParticleBase::Py(), positron.KFParticleBase::Pz());
2601 fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, intersection.GetZ(), e1, e2);
2604 if (TMath::Abs(OpeningAngle) > AngleCut)
continue;
2605 if (TMath::Abs(InvmassReco) > InvMassCut)
continue;
2613 if (rings_amount == 0) {
2617 if (rings_amount == 1) {
2621 if (rings_amount == 2) {
2625 if ((rings_amount == 1 || rings_amount == 2)) {
2636 gDirectory->mkdir(
"direct photons");
2637 gDirectory->cd(
"direct photons");
2640 gDirectory->mkdir(
"Target");
2641 gDirectory->cd(
"Target");
2642 gDirectory->mkdir(
"CheckCuts_Target");
2643 gDirectory->cd(
"CheckCuts_Target");
2647 gDirectory->cd(
"..");
2648 gDirectory->mkdir(
"all");
2649 gDirectory->cd(
"all");
2653 gDirectory->cd(
"..");
2654 gDirectory->mkdir(
"zero");
2655 gDirectory->cd(
"zero");
2659 gDirectory->cd(
"..");
2660 gDirectory->mkdir(
"one");
2661 gDirectory->cd(
"one");
2665 gDirectory->cd(
"..");
2666 gDirectory->mkdir(
"two");
2667 gDirectory->cd(
"two");
2671 gDirectory->cd(
"..");
2672 gDirectory->mkdir(
"onetwo");
2673 gDirectory->cd(
"onetwo");
2677 gDirectory->cd(
"..");
2681 gDirectory->cd(
"..");
2684 gDirectory->mkdir(
"Outside");
2685 gDirectory->cd(
"Outside");
2686 gDirectory->mkdir(
"CheckCuts_Outside");
2687 gDirectory->cd(
"CheckCuts_Outside");
2691 gDirectory->cd(
"..");
2692 gDirectory->mkdir(
"all");
2693 gDirectory->cd(
"all");
2697 gDirectory->cd(
"..");
2698 gDirectory->mkdir(
"zero");
2699 gDirectory->cd(
"zero");
2703 gDirectory->cd(
"..");
2704 gDirectory->mkdir(
"one");
2705 gDirectory->cd(
"one");
2709 gDirectory->cd(
"..");
2710 gDirectory->mkdir(
"two");
2711 gDirectory->cd(
"two");
2715 gDirectory->cd(
"..");
2716 gDirectory->mkdir(
"onetwo");
2717 gDirectory->cd(
"onetwo");
2721 gDirectory->cd(
"..");
2725 gDirectory->cd(
"..");
2728 gDirectory->mkdir(
"Both");
2729 gDirectory->cd(
"Both");
2730 gDirectory->mkdir(
"CheckCuts_Both");
2731 gDirectory->cd(
"CheckCuts_Both");
2735 gDirectory->cd(
"..");
2736 gDirectory->mkdir(
"all");
2737 gDirectory->cd(
"all");
2741 gDirectory->cd(
"..");
2742 gDirectory->mkdir(
"zero");
2743 gDirectory->cd(
"zero");
2747 gDirectory->cd(
"..");
2748 gDirectory->mkdir(
"one");
2749 gDirectory->cd(
"one");
2753 gDirectory->cd(
"..");
2754 gDirectory->mkdir(
"two");
2755 gDirectory->cd(
"two");
2759 gDirectory->cd(
"..");
2760 gDirectory->mkdir(
"onetwo");
2761 gDirectory->cd(
"onetwo");
2765 gDirectory->cd(
"..");
2769 gDirectory->cd(
"..");
2772 gDirectory->cd(
"..");
2779 Mother_PDG_Target =
new TH1D(
"Mother_PDG_Target",
"Mother_PDG_Target; Id;#", 1000, -10, 490);
2781 GrandMother_PDG_Target =
new TH1D(
"GrandMother_PDG_Target",
"GrandMother_PDG_Target; Id;#", 1000, -10, 490);
2785 Mother_PDG_Outside =
new TH1D(
"Mother_PDG_Outside",
"Mother_PDG_Outside; Id;#", 1000, -10, 490);
2787 GrandMother_PDG_Outside =
new TH1D(
"GrandMother_PDG_Outside",
"GrandMother_PDG_Outside; Id;#", 1000, -10, 490);
2792 new TH2D(
"Pdg_vs_Distance_for_dp",
"Pdg_vs_Distance_for_dp; pdg; distance in cm", 2500, 0, 2499, 500, 0, 50);
2795 "Distance between projected track and center of the ring (for e+ "
2796 "and e-); P in GeV/c^{2}; distance in cm",
2797 300, 0, 3, 300, 0, 15);
2799 DP_AnnTruePairs =
new TH1D(
"DP_AnnTruePairs",
"DP_AnnTruePairs; Ann value ;#", 100, -1.2, 1.2);
2801 DP_AnnFalsePairs =
new TH1D(
"DP_AnnFalsePairs",
"DP_AnnFalsePairs; Ann value ;#", 100, -1.2, 1.2);
2804 new TH1D(
"DP_AnnTruePairs_AfterCuts",
"DP_AnnTruePairs_AfterCuts; Ann value ;#", 100, -1.2, 1.2);
2807 new TH1D(
"DP_AnnFalsePairs_AfterCuts",
"DP_AnnFalsePairs_AfterCuts; Ann value ;#", 100, -1.2, 1.2);
2814 "DP_candidates_InvMass_vs_OA_Both; invariant mass in GeV/c^{2}; "
2815 "opening angle in degree",
2816 500, 0, 0.5, 500, 0, 50);
2819 "DP_InvMass_vs_OA_Both; invariant mass in "
2820 "GeV/c^{2}; opening angle in degree",
2821 500, 0, 0.5, 500, 0, 50);
2824 "DP_candidates_InvMass_Both; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2826 DP_InvMass_Both =
new TH1D(
"DP_InvMass_Both",
"DP_InvMass_Both; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2829 new TH1D(
"DP_candidates_OA_Both",
"DP_candidates_OA_Both; opening angle in degree;#", 300, -0.1, 29.9);
2831 DP_OA_Both =
new TH1D(
"DP_OA_Both",
"DP_OA_Both; opening angle in degree;#", 300, -0.1, 29.9);
2834 new TH1D(
"DP_candidates_PlaneAngles_last_Both",
"DP_candidates_PlaneAngles_last_Both; #theta angle in degree;#",
2838 new TH1D(
"DP_PlaneAngles_last_Both",
"DP_PlaneAngles_last_Both; #theta angle in degree;#", 720, -1., 179.);
2841 new TH1D(
"DP_candidates_PlaneAngles_first_Both",
"DP_candidates_PlaneAngles_first_Both; #theta angle in degree;#",
2845 new TH1D(
"DP_PlaneAngles_first_Both",
"DP_PlaneAngles_first_Both; #theta angle in degree;#", 720, -1., 179.);
2850 "DP_candidates_InvMass_vs_OA_Target; invariant mass in GeV/c^{2}; "
2851 "opening angle in degree",
2852 500, 0, 0.5, 500, 0, 50);
2855 "DP_InvMass_vs_OA_Target; invariant mass "
2856 "in GeV/c^{2}; opening angle in degree",
2857 500, 0, 0.5, 500, 0, 50);
2860 "DP_candidates_InvMass_Target",
"DP_candidates_InvMass_Target; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2863 new TH1D(
"DP_InvMass_Target",
"DP_InvMass_Target; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2866 new TH1D(
"DP_candidates_OA_Target",
"DP_candidates_OA_Target; opening angle in degree;#", 300, -0.1, 29.9);
2868 DP_OA_Target =
new TH1D(
"DP_OA_Target",
"DP_OA_Target; opening angle in degree;#", 300, -0.1, 29.9);
2871 new TH1D(
"DP_candidates_PlaneAngles_last_Target",
"DP_candidates_PlaneAngles_last_Target; #theta angle in degree;#",
2875 new TH1D(
"DP_PlaneAngles_last_Target",
"DP_PlaneAngles_last_Target; #theta angle in degree;#", 720, -1., 179.);
2878 new TH1D(
"DP_candidates_PlaneAngles_first_Target",
2879 "DP_candidates_PlaneAngles_first_Target; #theta angle in degree;#", 720, -1., 179.);
2882 new TH1D(
"DP_PlaneAngles_first_Target",
"DP_PlaneAngles_first_Target; #theta angle in degree;#", 720, -1., 179.);
2887 "DP_candidates_InvMass_vs_OA_Outside; invariant mass in "
2888 "GeV/c^{2}; opening angle in degree",
2889 500, 0, 0.5, 500, 0, 50);
2892 "DP_InvMass_vs_OA_Outside; invariant mass in GeV/c^{2}; opening "
2894 500, 0, 0.5, 500, 0, 50);
2897 "DP_candidates_InvMass_Outside",
"DP_candidates_InvMass_Outside; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2900 new TH1D(
"DP_InvMass_Outside",
"DP_InvMass_Outside; invariant mass in GeV/c^{2};#", 510, -0.01, 0.5);
2903 new TH1D(
"DP_candidates_OA_Outside",
"DP_candidates_OA_Outside; opening angle in degree;#", 300, -0.1, 29.9);
2905 DP_OA_Outside =
new TH1D(
"DP_OA_Outside",
"DP_OA_Outside; opening angle in degree;#", 300, -0.1, 29.9);
2908 new TH1D(
"DP_candidates_PlaneAngles_last_Outside",
2909 "DP_candidates_PlaneAngles_last_Outside; #theta angle in degree;#", 720, -1., 179.);
2912 new TH1D(
"DP_PlaneAngles_last_Outside",
"DP_PlaneAngles_last_Outside; #theta angle in degree;#", 720, -1., 179.);
2915 new TH1D(
"DP_candidates_PlaneAngles_first_Outside",
2916 "DP_candidates_PlaneAngles_first_Outside; #theta angle in degree;#", 720, -1., 179.);
2919 new TH1D(
"DP_PlaneAngles_first_Outside",
"DP_PlaneAngles_first_Outside; #theta angle in degree;#", 720, -1., 179.);
2925 "DP_InvMassReco_all_Target; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
2928 new TH1D(
"DP_OpeningAngleReco_all_Target",
"DP_OpeningAngleReco_all_Target; angle [deg];#", 45, -0.5, 4.);
2930 DP_Pdg_all_Target =
new TH1D(
"DP_Pdg_all_Target",
"DP_Pdg_all_Target; Id;#", 1000, -10, 490);
2932 DP_P_reco_all_Target =
new TH1D(
"DP_P_reco_all_Target",
"DP_P_reco_all_Target; P in GeV/c^{2};#", 200, 0, 10);
2934 DP_Pt_reco_all_Target =
new TH1D(
"DP_Pt_reco_all_Target",
"DP_Pt_reco_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2937 new TH1D(
"Ph_fromTarget_Pt_reco_all_Target",
"Ph_fromTarget_Pt_reco_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2940 new TH1D(
"Ph_fromPions_Pt_reco_all_Target",
"Ph_fromPions_Pt_reco_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2943 new TH1D(
"Ph_fromEtas_Pt_reco_all_Target",
"Ph_fromEtas_Pt_reco_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2946 new TH1D(
"Ph_fromDalitz_Pt_reco_all_Target",
"Ph_fromDalitz_Pt_reco_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2951 "DP_InvMassReco_zero_Target; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
2954 new TH1D(
"DP_OpeningAngleReco_zero_Target",
"DP_OpeningAngleReco_zero_Target; angle [deg];#", 45, -0.5, 4.);
2956 DP_Pdg_zero_Target =
new TH1D(
"DP_Pdg_zero_Target",
"DP_Pdg_zero_Target; Id;#", 1000, -10, 490);
2958 DP_P_reco_zero_Target =
new TH1D(
"DP_P_reco_zero_Target",
"DP_P_reco_zero_Target; P in GeV/c^{2};#", 200, 0, 10);
2960 DP_Pt_reco_zero_Target =
new TH1D(
"DP_Pt_reco_zero_Target",
"DP_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2963 new TH1D(
"Ph_fromTarget_Pt_reco_zero_Target",
"Ph_fromTarget_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2966 new TH1D(
"Ph_fromPions_Pt_reco_zero_Target",
"Ph_fromPions_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2969 new TH1D(
"Ph_fromEtas_Pt_reco_zero_Target",
"Ph_fromEtas_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2972 new TH1D(
"Ph_fromDalitz_Pt_reco_zero_Target",
"Ph_fromDalitz_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2977 "DP_InvMassReco_one_Target; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
2980 new TH1D(
"DP_OpeningAngleReco_one_Target",
"DP_OpeningAngleReco_one_Target; angle [deg];#", 45, -0.5, 4.);
2982 DP_Pdg_one_Target =
new TH1D(
"DP_Pdg_one_Target",
"DP_Pdg_one_Target; Id;#", 1000, -10, 490);
2984 DP_P_reco_one_Target =
new TH1D(
"DP_P_reco_one_Target",
"DP_P_reco_one_Target; P in GeV/c^{2};#", 200, 0, 10);
2986 DP_Pt_reco_one_Target =
new TH1D(
"DP_Pt_reco_one_Target",
"DP_Pt_reco_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2989 new TH1D(
"Ph_fromTarget_Pt_reco_one_Target",
"Ph_fromTarget_Pt_reco_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2992 new TH1D(
"Ph_fromPions_Pt_reco_one_Target",
"Ph_fromPions_Pt_reco_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2995 new TH1D(
"Ph_fromEtas_Pt_reco_one_Target",
"Ph_fromEtas_Pt_reco_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
2998 new TH1D(
"Ph_fromDalitz_Pt_reco_one_Target",
"Ph_fromDalitz_Pt_reco_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3003 "DP_InvMassReco_two_Target; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3006 new TH1D(
"DP_OpeningAngleReco_two_Target",
"DP_OpeningAngleReco_two_Target; angle [deg];#", 45, -0.5, 4.);
3008 DP_Pdg_two_Target =
new TH1D(
"DP_Pdg_two_Target",
"DP_Pdg_two_Target; Id;#", 1000, -10, 490);
3010 DP_P_reco_two_Target =
new TH1D(
"DP_P_reco_two_Target",
"DP_P_reco_two_Target; P in GeV/c^{2};#", 200, 0, 10);
3012 DP_Pt_reco_two_Target =
new TH1D(
"DP_Pt_reco_two_Target",
"DP_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3015 new TH1D(
"Ph_fromTarget_Pt_reco_two_Target",
"Ph_fromTarget_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3018 new TH1D(
"Ph_fromPions_Pt_reco_two_Target",
"Ph_fromPions_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3021 new TH1D(
"Ph_fromEtas_Pt_reco_two_Target",
"Ph_fromEtas_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3024 new TH1D(
"Ph_fromXi_Pt_reco_two_Target",
"Ph_fromXi_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3027 new TH1D(
"Ph_fromDalitz_Pt_reco_two_Target",
"Ph_fromDalitz_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3030 new TH1D(
"Ph_fromOther_Pt_reco_two_Target",
"Ph_fromOther_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3033 "Ph_twoFromTarget_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3036 new TH1D(
"Ph_fromCombinatorial_Pt_reco_two_Target",
"Ph_fromCombinatorial_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3040 "Ph_fromConversion_Pt_reco_two_Target",
"Ph_fromConversion_Pt_reco_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3044 new TH1D(
"twoFromTarget_PDG_two_Target",
"twoFromTarget_PDG_two_Target; Id;#", 1000, -10, 490);
3047 new TH1D(
"fromCombinatorial_PDG_two_Target",
"fromCombinatorial_PDG_two_Target; Id;#", 1000, -10, 490);
3050 new TH1D(
"CombinatorialMotherPdg_two_Target",
"CombinatorialMotherPdg_two_Target; Id;#", 1000, -10, 490);
3053 new TH1D(
"CombinatorialGrMotherPdg_two_Target",
"CombinatorialGrMotherPdg_two_Target; Id;#", 1000, -10, 490);
3055 Electrons_two_Target =
new TH1D(
"Electrons_two_Target",
"Electrons_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3057 Pions_two_Target =
new TH1D(
"Pions_two_Target",
"Pions_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3060 new TH1D(
"PionElectron_two_Target",
"PionElectron_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3063 new TH1D(
"elsePionOrElectron_two_Target",
"elsePionOrElectron_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3066 new TH1D(
"DalitzAndConversion_Pt_two_Target",
"DalitzAndConversion_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3069 new TH1D(
"DoubleConversion_Pt_two_Target",
"DoubleConversion_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3072 new TH1D(
"fromFireball_P_two_Target",
"fromFireball_P_two_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3075 new TH1D(
"twoFromTarget_P_two_Target",
"twoFromTarget_P_two_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3078 new TH1D(
"fromCombinatorial_electron_P_two_Target",
"fromCombinatorial_electron_P_two_Target; P_{t} in GeV/c^{2};#",
3082 new TH1D(
"fromCombinatorial_NOTelectron_P_two_Target",
3083 "fromCombinatorial_NOTelectron_P_two_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3088 "DP_InvMassReco_onetwo_Target",
"DP_InvMassReco_onetwo_Target; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3091 new TH1D(
"DP_OpeningAngleReco_onetwo_Target",
"DP_OpeningAngleReco_onetwo_Target; angle [deg];#", 45, -0.5, 4.);
3093 DP_Pdg_onetwo_Target =
new TH1D(
"DP_Pdg_onetwo_Target",
"DP_Pdg_onetwo_Target; Id;#", 1000, -10, 490);
3096 new TH1D(
"DP_P_reco_onetwo_Target",
"DP_P_reco_onetwo_Target; P in GeV/c^{2};#", 200, 0, 10);
3099 new TH1D(
"DP_Pt_reco_onetwo_Target",
"DP_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3102 "Ph_fromTarget_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3105 "Ph_fromPions_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3108 new TH1D(
"Ph_fromEtas_Pt_reco_onetwo_Target",
"Ph_fromEtas_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3111 new TH1D(
"Ph_fromXi_Pt_reco_onetwo_Target",
"Ph_fromXi_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3114 "Ph_fromDalitz_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3117 "Ph_fromOther_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3120 "Ph_twoFromTarget_Pt_reco_onetwo_Target",
"Ph_twoFromTarget_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3123 new TH1D(
"Ph_fromCombinatorial_Pt_reco_onetwo_Target",
3124 "Ph_fromCombinatorial_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3127 new TH1D(
"Ph_fromConversion_Pt_reco_onetwo_Target",
"Ph_fromConversion_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3132 new TH1D(
"twoFromTarget_PDG_onetwo_Target",
"twoFromTarget_PDG_onetwo_Target; Id;#", 1000, -10, 490);
3135 new TH1D(
"fromCombinatorial_PDG_onetwo_Target",
"fromCombinatorial_PDG_onetwo_Target; Id;#", 1000, -10, 490);
3138 new TH1D(
"CombinatorialMotherPdg_onetwo_Target",
"CombinatorialMotherPdg_onetwo_Target; Id;#", 1000, -10, 490);
3141 new TH1D(
"CombinatorialGrMotherPdg_onetwo_Target",
"CombinatorialGrMotherPdg_onetwo_Target; Id;#", 1000, -10, 490);
3144 new TH1D(
"Electrons_onetwo_Target",
"Electrons_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3146 Pions_onetwo_Target =
new TH1D(
"Pions_onetwo_Target",
"Pions_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3149 new TH1D(
"PionElectron_onetwo_Target",
"PionElectron_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3152 new TH1D(
"elsePionOrElectron_onetwo_Target",
"elsePionOrElectron_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3155 "DalitzAndConversion_Pt_onetwo_Target",
"DalitzAndConversion_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3158 new TH1D(
"DoubleConversion_Pt_onetwo_Target",
"DoubleConversion_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3161 new TH1D(
"fromFireball_P_onetwo_Target",
"fromFireball_P_onetwo_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3164 new TH1D(
"twoFromTarget_P_onetwo_Target",
"twoFromTarget_P_onetwo_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3167 new TH1D(
"fromCombinatorial_electron_P_onetwo_Target",
3168 "fromCombinatorial_electron_P_onetwo_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3171 new TH1D(
"fromCombinatorial_NOTelectron_P_onetwo_Target",
3172 "fromCombinatorial_NOTelectron_P_onetwo_Target; P_{t} in GeV/c^{2};#", 120, 0, 6);
3178 "DP_InvMassReco_all_Outside; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3181 new TH1D(
"DP_OpeningAngleReco_all_Outside",
"DP_OpeningAngleReco_all_Outside; angle [deg];#", 45, -0.5, 4.);
3183 DP_Pdg_all_Outside =
new TH1D(
"DP_Pdg_all_Outside",
"DP_Pdg_all_Outside; Id;#", 1000, -10, 490);
3185 DP_P_reco_all_Outside =
new TH1D(
"DP_P_reco_all_Outside",
"DP_P_reco_all_Outside; P in GeV/c^{2};#", 200, 0, 10);
3187 DP_Pt_reco_all_Outside =
new TH1D(
"DP_Pt_reco_all_Outside",
"DP_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3190 new TH1D(
"Ph_fromTarget_Pt_reco_all_Outside",
"Ph_fromTarget_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3193 new TH1D(
"Ph_fromPions_Pt_reco_all_Outside",
"Ph_fromPions_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3196 new TH1D(
"Ph_fromEtas_Pt_reco_all_Outside",
"Ph_fromEtas_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3199 new TH1D(
"Ph_fromDalitz_Pt_reco_all_Outside",
"Ph_fromDalitz_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3204 "DP_InvMassReco_zero_Outside",
"DP_InvMassReco_zero_Outside; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3207 new TH1D(
"DP_OpeningAngleReco_zero_Outside",
"DP_OpeningAngleReco_zero_Outside; angle [deg];#", 45, -0.5, 4.);
3209 DP_Pdg_zero_Outside =
new TH1D(
"DP_Pdg_zero_Outside",
"DP_Pdg_zero_Outside; Id;#", 1000, -10, 490);
3211 DP_P_reco_zero_Outside =
new TH1D(
"DP_P_reco_zero_Outside",
"DP_P_reco_zero_Outside; P in GeV/c^{2};#", 200, 0, 10);
3214 new TH1D(
"DP_Pt_reco_zero_Outside",
"DP_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3217 "Ph_fromTarget_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3220 new TH1D(
"Ph_fromPions_Pt_reco_zero_Outside",
"Ph_fromPions_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3223 new TH1D(
"Ph_fromEtas_Pt_reco_zero_Outside",
"Ph_fromEtas_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3226 "Ph_fromDalitz_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3231 "DP_InvMassReco_one_Outside; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3234 new TH1D(
"DP_OpeningAngleReco_one_Outside",
"DP_OpeningAngleReco_one_Outside; angle [deg];#", 45, -0.5, 4.);
3236 DP_Pdg_one_Outside =
new TH1D(
"DP_Pdg_one_Outside",
"DP_Pdg_one_Outside; Id;#", 1000, -10, 490);
3238 DP_P_reco_one_Outside =
new TH1D(
"DP_P_reco_one_Outside",
"DP_P_reco_one_Outside; P in GeV/c^{2};#", 200, 0, 10);
3240 DP_Pt_reco_one_Outside =
new TH1D(
"DP_Pt_reco_one_Outside",
"DP_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3243 new TH1D(
"Ph_fromTarget_Pt_reco_one_Outside",
"Ph_fromTarget_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3246 new TH1D(
"Ph_fromPions_Pt_reco_one_Outside",
"Ph_fromPions_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3249 new TH1D(
"Ph_fromEtas_Pt_reco_one_Outside",
"Ph_fromEtas_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3252 new TH1D(
"Ph_fromDalitz_Pt_reco_one_Outside",
"Ph_fromDalitz_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3257 "DP_InvMassReco_two_Outside; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3260 new TH1D(
"DP_OpeningAngleReco_two_Outside",
"DP_OpeningAngleReco_two_Outside; angle [deg];#", 45, -0.5, 4.);
3262 DP_Pdg_two_Outside =
new TH1D(
"DP_Pdg_two_Outside",
"DP_Pdg_two_Outside; Id;#", 1000, -10, 490);
3264 DP_P_reco_two_Outside =
new TH1D(
"DP_P_reco_two_Outside",
"DP_P_reco_two_Outside; P in GeV/c^{2};#", 200, 0, 10);
3266 DP_Pt_reco_two_Outside =
new TH1D(
"DP_Pt_reco_two_Outside",
"DP_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3269 new TH1D(
"Ph_fromTarget_Pt_reco_two_Outside",
"Ph_fromTarget_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3272 new TH1D(
"Ph_fromPions_Pt_reco_two_Outside",
"Ph_fromPions_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3275 new TH1D(
"Ph_fromEtas_Pt_reco_two_Outside",
"Ph_fromEtas_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3278 new TH1D(
"Ph_fromXi_Pt_reco_two_Outside",
"Ph_fromXi_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3281 new TH1D(
"Ph_fromDalitz_Pt_reco_two_Outside",
"Ph_fromDalitz_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3284 new TH1D(
"Ph_fromOther_Pt_reco_two_Outside",
"Ph_fromOther_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3287 "Ph_twoFromTarget_Pt_reco_two_Outside",
"Ph_twoFromTarget_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3290 new TH1D(
"Ph_fromCombinatorial_Pt_reco_two_Outside",
3291 "Ph_fromCombinatorial_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3294 "Ph_fromConversion_Pt_reco_two_Outside",
"Ph_fromConversion_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3297 new TH1D(
"twoFromTarget_PDG_two_Outside",
"twoFromTarget_PDG_two_Outside; Id;#", 1000, -10, 490);
3300 new TH1D(
"fromCombinatorial_PDG_two_Outside",
"fromCombinatorial_PDG_two_Outside; Id;#", 1000, -10, 490);
3303 new TH1D(
"CombinatorialMotherPdg_two_Outside",
"CombinatorialMotherPdg_two_Outside; Id;#", 1000, -10, 490);
3306 new TH1D(
"CombinatorialGrMotherPdg_two_Outside",
"CombinatorialGrMotherPdg_two_Outside; Id;#", 1000, -10, 490);
3308 Electrons_two_Outside =
new TH1D(
"Electrons_two_Outside",
"Electrons_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3310 Pions_two_Outside =
new TH1D(
"Pions_two_Outside",
"Pions_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3313 new TH1D(
"PionElectron_two_Outside",
"PionElectron_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3316 new TH1D(
"elsePionOrElectron_two_Outside",
"elsePionOrElectron_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3319 "DalitzAndConversion_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3322 new TH1D(
"DoubleConversion_Pt_two_Outside",
"DoubleConversion_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3325 new TH1D(
"fromFireball_P_two_Outside",
"fromFireball_P_two_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3328 new TH1D(
"twoFromTarget_P_two_Outside",
"twoFromTarget_P_two_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3331 new TH1D(
"fromCombinatorial_electron_P_two_Outside",
3332 "fromCombinatorial_electron_P_two_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3335 new TH1D(
"fromCombinatorial_NOTelectron_P_two_Outside",
3336 "fromCombinatorial_NOTelectron_P_two_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3341 "DP_InvMassReco_onetwo_Outside",
"DP_InvMassReco_onetwo_Outside; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3344 new TH1D(
"DP_OpeningAngleReco_onetwo_Outside",
"DP_OpeningAngleReco_onetwo_Outside; angle [deg];#", 45, -0.5, 4.);
3346 DP_Pdg_onetwo_Outside =
new TH1D(
"DP_Pdg_onetwo_Outside",
"DP_Pdg_onetwo_Outside; Id;#", 1000, -10, 490);
3349 new TH1D(
"DP_P_reco_onetwo_Outside",
"DP_P_reco_onetwo_Outside; P in GeV/c^{2};#", 200, 0, 10);
3352 new TH1D(
"DP_Pt_reco_onetwo_Outside",
"DP_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3355 "Ph_fromTarget_Pt_reco_onetwo_Outside",
"Ph_fromTarget_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3358 "Ph_fromPions_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3361 "Ph_fromEtas_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3364 new TH1D(
"Ph_fromXi_Pt_reco_onetwo_Outside",
"Ph_fromXi_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3367 "Ph_fromDalitz_Pt_reco_onetwo_Outside",
"Ph_fromDalitz_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3370 "Ph_fromOther_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3373 new TH1D(
"Ph_twoFromTarget_Pt_reco_onetwo_Outside",
"Ph_twoFromTarget_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
3377 new TH1D(
"Ph_fromCombinatorial_Pt_reco_onetwo_Outside",
3378 "Ph_fromCombinatorial_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3381 new TH1D(
"Ph_fromConversion_Pt_reco_onetwo_Outside",
3382 "Ph_fromConversion_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3385 new TH1D(
"twoFromTarget_PDG_onetwo_Outside",
"twoFromTarget_PDG_onetwo_Outside; Id;#", 1000, -10, 490);
3388 new TH1D(
"fromCombinatorial_PDG_onetwo_Outside",
"fromCombinatorial_PDG_onetwo_Outside; Id;#", 1000, -10, 490);
3391 new TH1D(
"CombinatorialMotherPdg_onetwo_Outside",
"CombinatorialMotherPdg_onetwo_Outside; Id;#", 1000, -10, 490);
3394 "CombinatorialGrMotherPdg_onetwo_Outside; Id;#", 1000, -10, 490);
3397 new TH1D(
"Electrons_onetwo_Outside",
"Electrons_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3399 Pions_onetwo_Outside =
new TH1D(
"Pions_onetwo_Outside",
"Pions_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3402 new TH1D(
"PionElectron_onetwo_Outside",
"PionElectron_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3405 new TH1D(
"elsePionOrElectron_onetwo_Outside",
"elsePionOrElectron_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3408 "DalitzAndConversion_Pt_onetwo_Outside",
"DalitzAndConversion_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3411 "DoubleConversion_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3414 new TH1D(
"fromFireball_P_onetwo_Outside",
"fromFireball_P_onetwo_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3417 new TH1D(
"twoFromTarget_P_onetwo_Outside",
"twoFromTarget_P_onetwo_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3420 new TH1D(
"fromCombinatorial_electron_P_onetwo_Outside",
3421 "fromCombinatorial_electron_P_onetwo_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3424 new TH1D(
"fromCombinatorial_NOTelectron_P_onetwo_Outside",
3425 "fromCombinatorial_NOTelectron_P_onetwo_Outside; P_{t} in GeV/c^{2};#", 120, 0, 6);
3431 new TH1D(
"DP_InvMassReco_all_Both",
"DP_InvMassReco_all_Both; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3434 new TH1D(
"DP_OpeningAngleReco_all_Both",
"DP_OpeningAngleReco_all_Both; angle [deg];#", 45, -0.5, 4.);
3436 DP_Pdg_all_Both =
new TH1D(
"DP_Pdg_all_Both",
"DP_Pdg_all_Both; Id;#", 1000, -10, 490);
3438 DP_P_reco_all_Both =
new TH1D(
"DP_P_reco_all_Both",
"DP_P_reco_all_Both; P in GeV/c^{2};#", 200, 0, 10);
3440 DP_Pt_reco_all_Both =
new TH1D(
"DP_Pt_reco_all_Both",
"DP_Pt_reco_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3443 new TH1D(
"Ph_fromTarget_Pt_reco_all_Both",
"Ph_fromTarget_Pt_reco_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3446 new TH1D(
"Ph_fromPions_Pt_reco_all_Both",
"Ph_fromPions_Pt_reco_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3449 new TH1D(
"Ph_fromEtas_Pt_reco_all_Both",
"Ph_fromEtas_Pt_reco_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3452 new TH1D(
"Ph_fromDalitz_Pt_reco_all_Both",
"Ph_fromDalitz_Pt_reco_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3455 "Ph_pt_vs_rap_est_all_Both",
"Ph_pt_vs_rap_est_all_Both; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
3460 new TH1D(
"DP_InvMassReco_zero_Both",
"DP_InvMassReco_zero_Both; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3463 new TH1D(
"DP_OpeningAngleReco_zero_Both",
"DP_OpeningAngleReco_zero_Both; angle [deg];#", 45, -0.5, 4.);
3465 DP_Pdg_zero_Both =
new TH1D(
"DP_Pdg_zero_Both",
"DP_Pdg_zero_Both; Id;#", 1000, -10, 490);
3467 DP_P_reco_zero_Both =
new TH1D(
"DP_P_reco_zero_Both",
"DP_P_reco_zero_Both; P in GeV/c^{2};#", 200, 0, 10);
3469 DP_Pt_reco_zero_Both =
new TH1D(
"DP_Pt_reco_zero_Both",
"DP_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3472 new TH1D(
"Ph_fromTarget_Pt_reco_zero_Both",
"Ph_fromTarget_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3475 new TH1D(
"Ph_fromPions_Pt_reco_zero_Both",
"Ph_fromPions_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3478 new TH1D(
"Ph_fromEtas_Pt_reco_zero_Both",
"Ph_fromEtas_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3481 new TH1D(
"Ph_fromDalitz_Pt_reco_zero_Both",
"Ph_fromDalitz_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3484 "Ph_pt_vs_rap_est_zero_Both",
"Ph_pt_vs_rap_est_zero_Both; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
3489 new TH1D(
"DP_InvMassReco_one_Both",
"DP_InvMassReco_one_Both; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3492 new TH1D(
"DP_OpeningAngleReco_one_Both",
"DP_OpeningAngleReco_one_Both; angle [deg];#", 45, -0.5, 4.);
3494 DP_Pdg_one_Both =
new TH1D(
"DP_Pdg_one_Both",
"DP_Pdg_one_Both; Id;#", 1000, -10, 490);
3496 DP_P_reco_one_Both =
new TH1D(
"DP_P_reco_one_Both",
"DP_P_reco_one_Both; P in GeV/c^{2};#", 200, 0, 10);
3498 DP_Pt_reco_one_Both =
new TH1D(
"DP_Pt_reco_one_Both",
"DP_Pt_reco_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3501 new TH1D(
"Ph_fromTarget_Pt_reco_one_Both",
"Ph_fromTarget_Pt_reco_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3504 new TH1D(
"Ph_fromPions_Pt_reco_one_Both",
"Ph_fromPions_Pt_reco_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3507 new TH1D(
"Ph_fromEtas_Pt_reco_one_Both",
"Ph_fromEtas_Pt_reco_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3510 new TH1D(
"Ph_fromDalitz_Pt_reco_one_Both",
"Ph_fromDalitz_Pt_reco_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3513 "Ph_pt_vs_rap_est_one_Both",
"Ph_pt_vs_rap_est_one_Both; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
3518 new TH1D(
"DP_InvMassReco_two_Both",
"DP_InvMassReco_two_Both; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3521 new TH1D(
"DP_OpeningAngleReco_two_Both",
"DP_OpeningAngleReco_two_Both; angle [deg];#", 45, -0.5, 4.);
3523 DP_Pdg_two_Both =
new TH1D(
"DP_Pdg_two_Both",
"DP_Pdg_two_Both; Id;#", 1000, -10, 490);
3525 DP_P_reco_two_Both =
new TH1D(
"DP_P_reco_two_Both",
"DP_P_reco_two_Both; P in GeV/c^{2};#", 200, 0, 10);
3527 DP_Pt_reco_two_Both =
new TH1D(
"DP_Pt_reco_two_Both",
"DP_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3530 new TH1D(
"Ph_fromTarget_Pt_reco_two_Both",
"Ph_fromTarget_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3533 new TH1D(
"Ph_fromPions_Pt_reco_two_Both",
"Ph_fromPions_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3536 new TH1D(
"Ph_fromEtas_Pt_reco_two_Both",
"Ph_fromEtas_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3539 new TH1D(
"Ph_fromDalitz_Pt_reco_two_Both",
"Ph_fromDalitz_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3542 new TH1D(
"Ph_twoFromTarget_Pt_reco_two_Both",
"Ph_twoFromTarget_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3545 "Ph_fromCombinatorial_Pt_reco_two_Both",
"Ph_fromCombinatorial_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3548 "Ph_fromConversion_Pt_reco_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3551 "Ph_pt_vs_rap_est_two_Both",
"Ph_pt_vs_rap_est_two_Both; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
3556 "DP_InvMassReco_onetwo_Both; invariant mass in GeV/c^{2};#", 50, -0.005, 0.045);
3559 new TH1D(
"DP_OpeningAngleReco_onetwo_Both",
"DP_OpeningAngleReco_onetwo_Both; angle [deg];#", 45, -0.5, 4.);
3561 DP_Pdg_onetwo_Both =
new TH1D(
"DP_Pdg_onetwo_Both",
"DP_Pdg_onetwo_Both; Id;#", 1000, -10, 490);
3563 DP_P_reco_onetwo_Both =
new TH1D(
"DP_P_reco_onetwo_Both",
"DP_P_reco_onetwo_Both; P in GeV/c^{2};#", 200, 0, 10);
3565 DP_Pt_reco_onetwo_Both =
new TH1D(
"DP_Pt_reco_onetwo_Both",
"DP_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3568 new TH1D(
"Ph_fromTarget_Pt_reco_onetwo_Both",
"Ph_fromTarget_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3571 new TH1D(
"Ph_fromPions_Pt_reco_onetwo_Both",
"Ph_fromPions_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3574 new TH1D(
"Ph_fromEtas_Pt_reco_onetwo_Both",
"Ph_fromEtas_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3577 new TH1D(
"Ph_fromDalitz_Pt_reco_onetwo_Both",
"Ph_fromDalitz_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3580 "Ph_twoFromTarget_Pt_reco_onetwo_Both",
"Ph_twoFromTarget_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3583 new TH1D(
"Ph_fromCombinatorial_Pt_reco_onetwo_Both",
3584 "Ph_fromCombinatorial_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3587 "Ph_fromConversion_Pt_reco_onetwo_Both",
"Ph_fromConversion_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3590 new TH2D(
"Ph_pt_vs_rap_est_onetwo_Both",
"Ph_pt_vs_rap_est_onetwo_Both; rapidity y; p_{t} in GeV/c ", 10, 0., 4.,
3595 DP_EMT_Pt_all_Target =
new TH1D(
"DP_EMT_Pt_all_Target",
"DP_EMT_Pt_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3597 DP_EMT_Pt_zero_Target =
new TH1D(
"DP_EMT_Pt_zero_Target",
"DP_EMT_Pt_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3599 DP_EMT_Pt_one_Target =
new TH1D(
"DP_EMT_Pt_one_Target",
"DP_EMT_Pt_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3601 DP_EMT_Pt_two_Target =
new TH1D(
"DP_EMT_Pt_two_Target",
"DP_EMT_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3604 new TH1D(
"DP_EMT_Pt_onetwo_Target",
"DP_EMT_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3608 DP_EMT_Pt_all_Outside =
new TH1D(
"DP_EMT_Pt_all_Outside",
"DP_EMT_Pt_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3610 DP_EMT_Pt_zero_Outside =
new TH1D(
"DP_EMT_Pt_zero_Outside",
"DP_EMT_Pt_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3612 DP_EMT_Pt_one_Outside =
new TH1D(
"DP_EMT_Pt_one_Outside",
"DP_EMT_Pt_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3614 DP_EMT_Pt_two_Outside =
new TH1D(
"DP_EMT_Pt_two_Outside",
"DP_EMT_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3617 new TH1D(
"DP_EMT_Pt_onetwo_Outside",
"DP_EMT_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3621 DP_EMT_Pt_all_Both =
new TH1D(
"DP_EMT_Pt_all_Both",
"DP_EMT_Pt_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3623 DP_EMT_Pt_zero_Both =
new TH1D(
"DP_EMT_Pt_zero_Both",
"DP_EMT_Pt_zero_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3625 DP_EMT_Pt_one_Both =
new TH1D(
"DP_EMT_Pt_one_Both",
"DP_EMT_Pt_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3627 DP_EMT_Pt_two_Both =
new TH1D(
"DP_EMT_Pt_two_Both",
"DP_EMT_Pt_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3629 DP_EMT_Pt_onetwo_Both =
new TH1D(
"DP_EMT_Pt_onetwo_Both",
"DP_EMT_Pt_onetwo_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
3635 new TH1D(
"DP_LK_EMT_neg_Pt_all_Target",
"DP_LK_EMT_neg_Pt_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3638 new TH1D(
"DP_LK_EMT_neg_Pt_zero_Target",
"DP_LK_EMT_neg_Pt_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3641 new TH1D(
"DP_LK_EMT_neg_Pt_one_Target",
"DP_LK_EMT_neg_Pt_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3644 new TH1D(
"DP_LK_EMT_neg_Pt_two_Target",
"DP_LK_EMT_neg_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3647 new TH1D(
"DP_LK_EMT_neg_Pt_onetwo_Target",
"DP_LK_EMT_neg_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3651 new TH1D(
"DP_LK_EMT_pos_Pt_all_Target",
"DP_LK_EMT_pos_Pt_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3654 new TH1D(
"DP_LK_EMT_pos_Pt_zero_Target",
"DP_LK_EMT_pos_Pt_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3657 new TH1D(
"DP_LK_EMT_pos_Pt_one_Target",
"DP_LK_EMT_pos_Pt_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3660 new TH1D(
"DP_LK_EMT_pos_Pt_two_Target",
"DP_LK_EMT_pos_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3663 new TH1D(
"DP_LK_EMT_pos_Pt_onetwo_Target",
"DP_LK_EMT_pos_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3667 new TH1D(
"DP_LK_EMT_Pt_all_Target",
"DP_LK_EMT_Pt_all_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3670 new TH1D(
"DP_LK_EMT_Pt_zero_Target",
"DP_LK_EMT_Pt_zero_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3673 new TH1D(
"DP_LK_EMT_Pt_one_Target",
"DP_LK_EMT_Pt_one_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3676 new TH1D(
"DP_LK_EMT_Pt_two_Target",
"DP_LK_EMT_Pt_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3679 new TH1D(
"DP_LK_EMT_Pt_onetwo_Target",
"DP_LK_EMT_Pt_onetwo_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3685 new TH1D(
"DP_LK_EMT_neg_Pt_all_Outside",
"DP_LK_EMT_neg_Pt_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3688 new TH1D(
"DP_LK_EMT_neg_Pt_zero_Outside",
"DP_LK_EMT_neg_Pt_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3691 new TH1D(
"DP_LK_EMT_neg_Pt_one_Outside",
"DP_LK_EMT_neg_Pt_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3694 new TH1D(
"DP_LK_EMT_neg_Pt_two_Outside",
"DP_LK_EMT_neg_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3697 new TH1D(
"DP_LK_EMT_neg_Pt_onetwo_Outside",
"DP_LK_EMT_neg_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3701 new TH1D(
"DP_LK_EMT_pos_Pt_all_Outside",
"DP_LK_EMT_pos_Pt_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3704 new TH1D(
"DP_LK_EMT_pos_Pt_zero_Outside",
"DP_LK_EMT_pos_Pt_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3707 new TH1D(
"DP_LK_EMT_pos_Pt_one_Outside",
"DP_LK_EMT_pos_Pt_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3710 new TH1D(
"DP_LK_EMT_pos_Pt_two_Outside",
"DP_LK_EMT_pos_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3713 new TH1D(
"DP_LK_EMT_pos_Pt_onetwo_Outside",
"DP_LK_EMT_pos_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3717 new TH1D(
"DP_LK_EMT_Pt_all_Outside",
"DP_LK_EMT_Pt_all_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3720 new TH1D(
"DP_LK_EMT_Pt_zero_Outside",
"DP_LK_EMT_Pt_zero_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3723 new TH1D(
"DP_LK_EMT_Pt_one_Outside",
"DP_LK_EMT_Pt_one_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3726 new TH1D(
"DP_LK_EMT_Pt_two_Outside",
"DP_LK_EMT_Pt_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
3729 new TH1D(
"DP_LK_EMT_Pt_onetwo_Outside",
"DP_LK_EMT_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
Data class for a reconstructed hit in the STS.
Data class for STS tracks.
int32_t GetStsTrackIndex() const
int32_t GetRichRingIndex() const
static void SetKFParticleFromStsTrack(CbmStsTrack *track, KFParticle *particle, Int_t pdg=211, Bool_t firstPoint=kTRUE)
vector< TH1 * > fHistoList_dp_cuts_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Both
TH1D * DP_Pt_reco_two_Outside
TH1D * Ph_fromEtas_Pt_reco_onetwo_Both
void DP_Mixing_Outside(double AngleCut, double InvMassCut)
vector< CbmMCTrack * > VMCtracks_minus_Outside
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Both
TH1D * DP_Pt_reco_zero_Target
TH1D * DP_PlaneAngles_last_Both
TH1D * DP_OpeningAngleReco_one_Target
std::vector< int > VRings_plus_Target
TH1D * Ph_fromTarget_Pt_reco_two_Outside
std::vector< std::vector< int > > Gammas_stsIndex_zero_Both
TH1D * Ph_fromConversion_Pt_reco_onetwo_Both
TH1D * DP_P_reco_onetwo_Both
TH1D * Ph_fromTarget_Pt_reco_two_Both
TH1D * DP_InvMassReco_one_Target
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Both
std::vector< int > VRings_plus_Outside
vector< CbmStsTrack * > VStsTrack_minus_Outside
TH1D * DP_InvMassReco_one_Outside
TH1D * elsePionOrElectron_two_Outside
TH1D * DP_P_reco_two_Both
TH1D * DP_Pdg_onetwo_Outside
vector< TH1 * > fHistoList_dp_all_Target
TH1D * fromFireball_P_onetwo_Outside
std::vector< int > VStsIndex_plus_Target
std::vector< CbmStsTrack * > DP_LK_EMT_STS_minus_Outside
double CalculatePlaneAngle_last_fromHits(std::vector< TVector3 > track_1, std::vector< TVector3 > track_2)
TH1D * DP_candidates_OA_Target
std::vector< std::vector< TVector3 > > Gammas_two_Outside
std::vector< std::vector< int > > Gammas_stsIndex_all_Outside
TH1D * DP_P_reco_one_Target
TH1D * DP_LK_EMT_pos_Pt_one_Outside
TH1D * DP_LK_EMT_pos_Pt_one_Target
TH1D * DP_P_reco_all_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Both
TH1D * DP_EMT_Pt_two_Target
TH1D * DP_EMT_Pt_zero_Outside
TH1D * DP_P_reco_all_Both
TH1D * DP_LK_EMT_Pt_one_Target
TH1D * DP_LK_EMT_neg_Pt_onetwo_Outside
TH1D * Ph_fromDalitz_Pt_reco_all_Target
TH1D * fromFireball_P_two_Target
TH1D * DP_EMT_Pt_all_Target
std::vector< std::vector< int > > Gammas_stsIndex_all_Target
TH1D * Ph_fromEtas_Pt_reco_all_Target
TH2D * Ph_pt_vs_rap_est_one_Both
TH1D * PionElectron_onetwo_Outside
std::vector< std::vector< int > > Gammas_stsIndex_one_Outside
TH1D * DP_Pt_reco_zero_Outside
TH1D * DP_OpeningAngleReco_two_Both
TH1D * DP_Pt_reco_one_Outside
TH1D * Mother_PDG_Outside
TH1D * DP_P_reco_two_Outside
TH1D * CombinatorialMotherPdg_two_Outside
TH1D * fromCombinatorial_PDG_onetwo_Outside
TH1D * DP_candidates_InvMass_Outside
std::vector< std::vector< TVector3 > > Gammas_zero_Outside
TH1D * DP_EMT_Pt_all_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Both
TH2D * Pdg_vs_Distance_for_dp
std::vector< std::vector< TVector3 > > Gammas_one_Outside
std::vector< std::vector< int > > Gammas_stsIndex_one_Both
TH1D * DP_P_reco_one_Outside
TH1D * DP_InvMassReco_zero_Both
TH1D * DP_P_reco_onetwo_Outside
void DP_Mixing_Target(double AngleCut, double InvMassCut)
std::vector< TVector3 > DP_EMT_momenta_minus_Target
TH1D * DalitzAndConversion_Pt_two_Outside
std::vector< int > DP_EMT_Event_plus_Target
TH1D * Ph_fromTarget_Pt_reco_all_Both
TH1D * DP_LK_EMT_neg_Pt_all_Outside
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Outside
TH1D * DP_LK_EMT_neg_Pt_two_Outside
TH1D * DP_P_reco_zero_Outside
TH1D * Ph_fromConversion_Pt_reco_two_Both
TH1D * Ph_fromEtas_Pt_reco_two_Target
TH1D * DP_Pt_reco_two_Both
TClonesArray * fArrayMvdHit
TH1D * Ph_fromCombinatorial_Pt_reco_two_Target
std::vector< std::vector< TVector3 > > Gammas_all_Target
void Exec(int fEventNumDP, double OpeningAngleCut, double GammaInvMassCut, int RealPID)
TH1D * DP_Pdg_onetwo_Target
int CheckIfElectron(CbmRichRing *ring, double momentum)
TClonesArray * fRichRingMatches
vector< TH1 * > fHistoList_dp_two_Outside
TH1D * DoubleConversion_Pt_two_Outside
std::vector< std::vector< TVector3 > > Gammas_onetwo_Target
std::vector< std::vector< int > > Gammas_stsIndex_two_Target
double CalculatePlaneAngle_first(CbmStsTrack *Sts_1, CbmStsTrack *Sts_2)
TH1D * DP_LK_EMT_pos_Pt_two_Outside
TH1D * fromFireball_P_two_Outside
vector< TH1 * > fHistoList_dp_zero_Both
TH1D * DP_OpeningAngleReco_one_Both
void SaveTargetTracks(CbmMCTrack *mcTrack1, CbmStsTrack *stsTrack, TVector3 refmom, double charge, int stsInd, int richInd, int stsMcTrackId, CbmRichRing *RING)
std::vector< std::vector< TVector3 > > Gammas_zero_Target
vector< CbmRichRing * > VRichRing_minus_Outside
TClonesArray * fGlobalTracks
TH1D * Ph_fromTarget_Pt_reco_one_Outside
TH1D * Ph_fromCombinatorial_Pt_reco_two_Both
TH1D * DP_Pt_reco_all_Outside
TH1D * Ph_fromDalitz_Pt_reco_one_Outside
vector< CbmMCTrack * > VMCtracks_plus_Outside
TH1D * Ph_fromTarget_Pt_reco_zero_Outside
TH1D * DP_P_reco_zero_Both
TH1D * DP_candidates_PlaneAngles_first_Both
TH1D * DP_Pt_reco_onetwo_Both
TH1D * DP_InvMassReco_onetwo_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Target
TH1D * fromCombinatorial_electron_P_onetwo_Target
TH1D * DP_OpeningAngleReco_zero_Target
TH1D * DP_EMT_Pt_one_Target
vector< CbmRichRing * > VRichRing_minus_Target
TH1D * DP_LK_EMT_Pt_two_Outside
std::vector< std::vector< TVector3 > > DP_EMT_Hits_plus_Target
TH1D * DP_OpeningAngleReco_one_Outside
TH1D * DP_Pt_reco_onetwo_Outside
TH1D * DP_EMT_Pt_all_Outside
vector< TH1 * > fHistoList_dp_onetwo_Target
TH1D * DP_Pdg_zero_Outside
TH1D * DP_Pdg_all_Outside
TH1D * Ph_fromPions_Pt_reco_one_Target
TH1D * elsePionOrElectron_onetwo_Target
TH1D * Ph_fromTarget_Pt_reco_zero_Target
TH1D * fromCombinatorial_PDG_onetwo_Target
TClonesArray * fStsTrackMatches
std::vector< std::vector< int > > Gammas_stsIndex_zero_Target
TH1D * DP_Pt_reco_onetwo_Target
TH1D * DP_InvMassReco_all_Both
TH1D * Ph_fromEtas_Pt_reco_zero_Target
TH1D * DP_LK_EMT_pos_Pt_all_Outside
TH1D * DP_LK_EMT_Pt_zero_Target
TH1D * DalitzAndConversion_Pt_two_Target
std::vector< std::vector< TVector3 > > DP_EMT_Hits_plus_Outside
std::vector< int > DP_EMT_Event_minus_Target
TH1D * Ph_fromTarget_Pt_reco_one_Target
TH2D * Ph_pt_vs_rap_est_two_Both
CbmKresTrainAnnDirectPhotons * fTrainPhotons
TH1D * Ph_fromPions_Pt_reco_zero_Target
TH1D * DP_InvMassReco_zero_Outside
void FindGammasOutside(int EventNumMan, double AngleCut, double InvMassCut, int RealPID, vector< CbmMCTrack * > MCtracks_minus_Outside, vector< CbmMCTrack * > MCtracks_plus_Outside, vector< CbmStsTrack * > StsTrack_minus_Outside, vector< CbmStsTrack * > StsTrack_plus_Outside, std::vector< int > Rings_minus_Outside, std::vector< int > Rings_plus_Outside, std::vector< int > stsIndex_minus_Outside, std::vector< int > stsIndex_plus_Outside, vector< CbmRichRing * > richRing_minus_Outside, vector< CbmRichRing * > richRing_plus_Outside)
vector< CbmStsTrack * > VStsTrack_plus_Outside
TH1D * DP_EMT_Pt_two_Both
TH1D * Ph_fromXi_Pt_reco_two_Target
TH1D * Ph_fromPions_Pt_reco_zero_Both
TH2D * DP_InvMass_vs_OA_Outside
std::vector< CbmStsTrack * > DP_LK_EMT_STS_plus_Target
std::vector< std::vector< int > > Gammas_stsIndex_all_Both
TH1D * DP_LK_EMT_pos_Pt_two_Target
std::vector< CbmStsTrack * > DP_EMT_STS_plus_Outside
std::vector< std::vector< int > > Gammas_stsIndex_one_Target
std::vector< std::vector< TVector3 > > Gammas_two_Both
TH1D * DP_PlaneAngles_first_Target
TH1D * DP_InvMass_Outside
TH2D * DP_candidates_InvMass_vs_OA_Target
TH1D * Ph_fromEtas_Pt_reco_zero_Both
double CalculatePlaneAngle_last(CbmStsTrack *Sts_1, CbmStsTrack *Sts_2)
TClonesArray * fRichProjections
vector< TVector3 > VMomenta_minus_Target
TH1D * DP_OpeningAngleReco_onetwo_Target
TH1D * PionElectron_onetwo_Target
TH1D * DP_candidates_PlaneAngles_first_Target
std::vector< std::vector< TVector3 > > Gammas_all_Both
void FindGammasTarget(int EventNumMan, double AngleCut, double InvMassCut, int RealPID, vector< CbmMCTrack * > MCtracks_minus, vector< CbmMCTrack * > MCtracks_plus, vector< CbmStsTrack * > StsTrack_minus, vector< CbmStsTrack * > StsTrack_plus, vector< TVector3 > Momenta_minus, vector< TVector3 > Momenta_plus, std::vector< int > Rings_minus, std::vector< int > Rings_plus, std::vector< int > stsIndex_minus, std::vector< int > stsIndex_plus, vector< CbmRichRing * > richRing_minus, vector< CbmRichRing * > richRing_plus)
std::vector< int > DP_LK_EMT_STS_plus_index_Target
TH1D * Ph_fromDalitz_Pt_reco_two_Outside
vector< TH1 * > fHistoList_dp_zero_Outside
TH1D * Ph_fromTarget_Pt_reco_all_Target
TH1D * DP_PlaneAngles_last_Outside
TH1D * Electrons_onetwo_Target
TH1D * DP_Pdg_onetwo_Both
TH1D * Ph_fromEtas_Pt_reco_two_Both
TH1D * DP_PlaneAngles_last_Target
TH1D * DP_LK_EMT_pos_Pt_zero_Target
std::vector< std::vector< int > > Gammas_stsIndex_two_Outside
TH1D * DP_P_reco_zero_Target
TH1D * Ph_fromEtas_Pt_reco_onetwo_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Target
TH1D * DP_InvMassReco_one_Both
std::vector< int > DP_EMT_NofRings_minus_Target
std::vector< std::vector< TVector3 > > Gammas_one_Both
vector< TH1 * > fHistoList_dp_two_Target
TH1D * Ph_fromXi_Pt_reco_onetwo_Outside
TH1D * DP_candidates_OA_Both
TH1D * Ph_fromXi_Pt_reco_two_Outside
TH1D * Ph_fromEtas_Pt_reco_all_Outside
std::vector< int > DP_EMT_Event_minus_Outside
vector< TH1 * > fHistoList_dp_onetwo_Outside
TH1D * DP_LK_EMT_neg_Pt_zero_Target
TH1D * Ph_fromPions_Pt_reco_all_Target
TH1D * DP_Pt_reco_one_Both
TH1D * fromCombinatorial_electron_P_two_Outside
TH1D * DoubleConversion_Pt_two_Target
TH1D * DP_LK_EMT_Pt_onetwo_Outside
TH1D * DP_Pt_reco_all_Both
TH1D * DP_EMT_Pt_one_Outside
vector< CbmMCTrack * > VMCtracks_plus_Target
CbmKresConversionPhotons()
TH1D * DP_LK_EMT_Pt_onetwo_Target
std::vector< std::vector< TVector3 > > Gammas_one_Target
TH2D * DP_InvMass_vs_OA_Target
TH1D * twoFromTarget_PDG_two_Outside
TH1D * DP_EMT_Pt_zero_Both
TH1D * twoFromTarget_PDG_onetwo_Target
TH1D * DP_candidates_OA_Outside
TH1D * Ph_twoFromTarget_Pt_reco_two_Target
TH1D * Ph_fromTarget_Pt_reco_all_Outside
TH1D * fromCombinatorial_electron_P_two_Target
TH1D * fromFireball_P_onetwo_Target
TH1D * Ph_fromEtas_Pt_reco_one_Target
TH1D * Ph_fromPions_Pt_reco_two_Outside
vector< TH1 * > fHistoList_dp_Both
vector< TH1 * > fHistoList_dp_cuts_Both
TH1D * Ph_fromConversion_Pt_reco_onetwo_Target
TH1D * DP_LK_EMT_neg_Pt_two_Target
TH1D * DP_AnnFalsePairs_AfterCuts
TH1D * DP_InvMassReco_two_Target
std::vector< int > DP_LK_EMT_NofRings_plus_Target
TH1D * Ph_fromEtas_Pt_reco_onetwo_Target
TH1D * Pions_onetwo_Outside
TH1D * Electrons_two_Outside
std::vector< TVector3 > DP_LK_EMT_momenta_minus_Target
vector< CbmStsTrack * > VStsTrack_minus_Target
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Both
TH1D * Ph_fromTarget_Pt_reco_onetwo_Both
std::vector< TVector3 > DP_EMT_momenta_plus_Target
TH1D * DP_LK_EMT_neg_Pt_one_Outside
TH1D * DP_Pdg_two_Outside
TH1D * fromCombinatorial_PDG_two_Outside
std::vector< int > DP_EMT_NofRings_minus_Outside
vector< TH1 * > fHistoList_dp_one_Outside
TH1D * DalitzAndConversion_Pt_onetwo_Outside
TH1D * Ph_fromConversion_Pt_reco_onetwo_Outside
TH1D * DP_LK_EMT_neg_Pt_onetwo_Target
TH1D * DP_OpeningAngleReco_all_Both
TH1D * DP_PlaneAngles_first_Both
TH1D * Ph_fromTarget_Pt_reco_one_Both
std::vector< std::vector< TVector3 > > Gammas_onetwo_Both
std::vector< CbmStsTrack * > DP_LK_EMT_STS_minus_Target
vector< TH1 * > fHistoList_dp_one_Both
std::vector< std::vector< TVector3 > > Gammas_zero_Both
TH1D * Ph_fromPions_Pt_reco_all_Outside
vector< TH1 * > fHistoList_dp_all_Both
TH1D * DP_candidates_PlaneAngles_last_Outside
std::vector< int > DP_LK_EMT_STS_minus_index_Target
TH1D * Ph_fromDalitz_Pt_reco_zero_Outside
std::vector< TVector3 > DP_LK_EMT_momenta_plus_Target
vector< CbmMCTrack * > VMCtracks_minus_Target
TH1D * DP_OpeningAngleReco_all_Target
std::vector< int > DP_EMT_NofRings_plus_Target
TH1D * DP_LK_EMT_Pt_one_Outside
TH1D * CombinatorialGrMotherPdg_onetwo_Outside
TH1D * Ph_fromOther_Pt_reco_two_Outside
TH1D * DP_OpeningAngleReco_two_Outside
TH1D * GrandMother_PDG_Target
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Outside
std::vector< std::vector< TVector3 > > Gammas_onetwo_Outside
TH1D * CombinatorialGrMotherPdg_two_Target
std::vector< int > DP_EMT_NofRings_plus_Outside
TH1D * DP_InvMassReco_onetwo_Target
TH1D * DP_LK_EMT_pos_Pt_all_Target
TH1D * Ph_fromOther_Pt_reco_two_Target
TH1D * twoFromTarget_P_two_Outside
TH1D * Ph_fromConversion_Pt_reco_two_Target
std::vector< TVector3 > SaveAllHits(CbmStsTrack *track)
TH1D * DP_LK_EMT_neg_Pt_all_Target
TH1D * Ph_fromDalitz_Pt_reco_zero_Target
TH1D * DP_EMT_Pt_onetwo_Both
TH1D * DP_Pt_reco_all_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Both
vector< TH1 * > fHistoList_dp_Outside
TH1D * Ph_fromDalitz_Pt_reco_two_Target
TH1D * Ph_fromDalitz_Pt_reco_one_Target
TH1D * DP_InvMassReco_all_Outside
TH1D * DP_EMT_Pt_onetwo_Outside
TH1D * DP_candidates_InvMass_Both
TH1D * Ph_fromDalitz_Pt_reco_zero_Both
std::vector< int > VStsIndex_minus_Target
TH1D * Pions_onetwo_Target
TH1D * fromCombinatorial_NOTelectron_P_onetwo_Target
TH1D * DP_Pt_reco_one_Target
TH1D * DP_LK_EMT_Pt_zero_Outside
TH1D * DP_EMT_Pt_zero_Target
TH1D * DP_LK_EMT_pos_Pt_onetwo_Outside
TH1D * DP_OpeningAngleReco_onetwo_Both
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Target
vector< CbmRichRing * > VRichRing_plus_Target
TH1D * DP_LK_EMT_Pt_all_Target
CbmRichRingFitterEllipseTau * fTauFit
TH1D * Electrons_onetwo_Outside
std::vector< int > VStsIndex_minus_Outside
TH1D * DP_OpeningAngleReco_zero_Both
TH1D * twoFromTarget_PDG_onetwo_Outside
std::vector< int > DP_LK_EMT_STS_minus_index_Outside
TH1D * Ph_fromOther_Pt_reco_onetwo_Target
CbmKresSelectAnnPhotons * fAnnPhotonsSelection
vector< TH1 * > fHistoList_dp_zero_Target
TH1D * DP_candidates_InvMass_Target
TH1D * DP_candidates_PlaneAngles_last_Target
TH1D * DP_OpeningAngleReco_onetwo_Outside
std::vector< std::vector< TVector3 > > DP_EMT_Hits_minus_Target
TH2D * DP_InvMass_vs_OA_Both
TH1D * Ph_fromEtas_Pt_reco_one_Both
TH1D * Ph_twoFromTarget_Pt_reco_two_Both
TH1D * fromCombinatorial_NOTelectron_P_two_Outside
TH1D * DP_P_reco_two_Target
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Outside
TClonesArray * fArrayStsHit
vector< TH1 * > fHistoList_dp_two_Both
TH1D * DP_AnnTruePairs_AfterCuts
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Both
TH1D * twoFromTarget_P_onetwo_Outside
TH1D * fromCombinatorial_electron_P_onetwo_Outside
TH1D * CombinatorialMotherPdg_onetwo_Target
TH1D * Ph_fromPions_Pt_reco_onetwo_Target
std::vector< std::vector< TVector3 > > Gammas_all_Outside
TH2D * P_vs_Distance_for_dp
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Target
TH1D * DP_OpeningAngleReco_two_Target
void DP_likesign_Mixing_Outside(double AngleCut, double InvMassCut)
std::vector< int > VStsIndex_plus_Outside
vector< CbmStsTrack * > VStsTrack_plus_Target
std::vector< int > DP_EMT_Event_plus_Outside
vector< CbmRichRing * > VRichRing_plus_Outside
TH1D * Ph_fromXi_Pt_reco_onetwo_Target
void DP_likesign_Mixing_Target(double AngleCut, double InvMassCut)
vector< TH1 * > fHistoList_dp_all_Outside
vector< TH1 * > fHistoList_dp_one_Target
TH1D * Ph_fromEtas_Pt_reco_one_Outside
vector< TH1 * > fHistoList_dp_Target
TH1D * Ph_fromPions_Pt_reco_onetwo_Outside
TH1D * DP_P_reco_one_Both
std::vector< CbmMCTrack * > fMCtracks
TH1D * Ph_fromTarget_Pt_reco_onetwo_Target
TH1D * DP_P_reco_all_Target
TH1D * Ph_fromPions_Pt_reco_onetwo_Both
TH1D * DP_LK_EMT_Pt_all_Outside
std::vector< int > frefId
std::vector< std::vector< TVector3 > > Gammas_two_Target
TH1D * DP_InvMassReco_two_Outside
TH1D * DP_Pt_reco_zero_Both
TH1D * DP_OpeningAngleReco_zero_Outside
TClonesArray * fStsTracks
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Outside
TH2D * Ph_pt_vs_rap_est_zero_Both
TH1D * Ph_fromPions_Pt_reco_one_Outside
TH1D * CombinatorialGrMotherPdg_two_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Target
std::vector< KFParticle > DP_EMT_KFTrack_minus_Outside
TH1D * DP_Pt_reco_two_Target
TH1D * Ph_fromPions_Pt_reco_two_Both
int FindInRich(int richInd, int stsMcTrackId)
TH2D * Ph_pt_vs_rap_est_onetwo_Both
std::vector< std::vector< TVector3 > > DP_EMT_Hits_minus_Outside
std::vector< int > DP_LK_EMT_NofRings_minus_Outside
TH1D * PionElectron_two_Target
TH1D * Ph_twoFromTarget_Pt_reco_two_Outside
void SaveOutsideTracks(CbmMCTrack *mcTrack1, CbmStsTrack *stsTrack, double charge, int stsInd, int richInd, int stsMcTrackId, CbmRichRing *RING)
TH1D * Ph_fromDalitz_Pt_reco_all_Both
TH1D * Ph_fromEtas_Pt_reco_two_Outside
TH1D * DP_EMT_Pt_onetwo_Target
TH1D * elsePionOrElectron_two_Target
TH1D * Ph_fromOther_Pt_reco_onetwo_Outside
TH1D * twoFromTarget_P_onetwo_Target
TH2D * DP_candidates_InvMass_vs_OA_Outside
TH1D * GrandMother_PDG_Outside
TH1D * Ph_fromPions_Pt_reco_zero_Outside
TH1D * DoubleConversion_Pt_onetwo_Outside
TH1D * DP_OpeningAngleReco_all_Outside
TH2D * Ph_pt_vs_rap_est_all_Both
TClonesArray * fRichRings
TH1D * DP_candidates_PlaneAngles_last_Both
std::vector< int > DP_LK_EMT_NofRings_plus_Outside
TH1D * DP_candidates_PlaneAngles_first_Outside
TH1D * DalitzAndConversion_Pt_onetwo_Target
std::vector< std::vector< int > > Gammas_stsIndex_two_Both
TH1D * Ph_fromDalitz_Pt_reco_all_Outside
TH1D * DP_LK_EMT_Pt_two_Target
TH1D * DP_InvMassReco_zero_Target
TH1D * Ph_fromPions_Pt_reco_two_Target
TH1D * Ph_fromTarget_Pt_reco_two_Target
TH1D * Ph_fromConversion_Pt_reco_two_Outside
vector< TH1 * > fHistoList_dp_onetwo_Both
TH1D * Ph_fromDalitz_Pt_reco_two_Both
TH1D * Ph_fromDalitz_Pt_reco_one_Both
vector< TH1 * > fHistoList_dp_cuts_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Outside
TH1D * PionElectron_two_Outside
TH1D * DP_LK_EMT_pos_Pt_onetwo_Target
TH1D * DP_EMT_Pt_two_Outside
vector< TVector3 > VMomenta_plus_Target
TH2D * DP_candidates_InvMass_vs_OA_Both
TH1D * Ph_fromCombinatorial_Pt_reco_two_Outside
TH1D * fromCombinatorial_PDG_two_Target
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Target
virtual ~CbmKresConversionPhotons()
TH1D * fromCombinatorial_NOTelectron_P_onetwo_Outside
TH1D * CombinatorialMotherPdg_two_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Both
TH1D * Ph_fromTarget_Pt_reco_onetwo_Outside
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Target
TH1D * CombinatorialMotherPdg_onetwo_Outside
TH1D * Ph_fromPions_Pt_reco_all_Both
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Outside
TH1D * DoubleConversion_Pt_onetwo_Target
TH1D * elsePionOrElectron_onetwo_Outside
std::vector< int > DP_LK_EMT_STS_plus_index_Outside
TH1D * DP_Pdg_one_Outside
std::vector< int > VRings_minus_Target
TH1D * DP_EMT_Pt_one_Both
TH1D * CombinatorialGrMotherPdg_onetwo_Target
TH1D * DP_InvMassReco_two_Both
std::vector< int > DP_LK_EMT_NofRings_minus_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Outside
TH1D * Electrons_two_Target
TH1D * DP_PlaneAngles_first_Outside
TH1D * twoFromTarget_PDG_two_Target
std::vector< CbmStsTrack * > DP_LK_EMT_STS_plus_Outside
std::vector< CbmStsTrack * > DP_EMT_STS_minus_Outside
TH1D * DP_LK_EMT_neg_Pt_zero_Outside
TH1D * DP_P_reco_onetwo_Target
TH1D * DP_InvMassReco_onetwo_Both
TH1D * Ph_fromEtas_Pt_reco_zero_Outside
TH1D * DP_LK_EMT_pos_Pt_zero_Outside
vector< TVector3 > frefmomenta
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Outside
TH1D * DP_LK_EMT_neg_Pt_one_Target
TH1D * Ph_fromEtas_Pt_reco_all_Both
std::vector< int > VRings_minus_Outside
std::vector< KFParticle > DP_EMT_KFTrack_plus_Outside
TH1D * Ph_fromPions_Pt_reco_one_Both
TH1D * DP_Pdg_zero_Target
std::vector< std::vector< int > > Gammas_stsIndex_zero_Outside
TH1D * DP_InvMassReco_all_Target
TH1D * twoFromTarget_P_two_Target
TH1D * Ph_fromTarget_Pt_reco_zero_Both
TH1D * fromCombinatorial_NOTelectron_P_two_Target
static TVector3 FitToVertexAndGetChi(CbmStsTrack *stsTrack, double x, double y, double z, double &chi)
static Double_t CalculateOpeningAngle_Reco(TVector3 electron1, TVector3 electron2)
static double Invmass_2particles_RECO(const TVector3 part1, const TVector3 part2)
static TVector3 FitToVertex(CbmStsTrack *stsTrack, double x, double y, double z)
static LmvmKinePar CalculateKinematicParamsReco(const TVector3 electron1, const TVector3 electron2)
int32_t GetMotherId() const
int32_t GetPdgCode() const
int32_t GetNofLinks() const
const CbmLink & GetMatchedLink() const
void Position(TVector3 &pos) const
Copies hit position to pos.
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
void AddHit(CbmRichHitLight hit)
Add new hit to the ring.
uint32_t GetHit(int32_t i) const
int32_t GetNofHits() const
static double GetRingTrackDistance(int globalTrackId)
data class for a reconstructed 3-d hit in the STS
int32_t GetNofMvdHits() const
int32_t GetMvdHitIndex(int32_t iHit) const
int32_t GetStsHitIndex(int32_t iHit) const
int32_t GetNofStsHits() const
const FairTrackParam * GetParamFirst() const