@@ -20,34 +20,92 @@ o2::eventgen::GeneratorStarlight_class* makeStarlightGenerator(std::string confi
2020 generator -> selectConfiguration (configuration );
2121 generator -> setCollisionSystem (energyCM , beam1Z , beam1A , beam2Z , beam2A );
2222 generator -> setExtraParams (extraParams );
23- generator -> setupDpmjet (dpmjetconf );
23+ // generator->setupDpmjet(dpmjetconf);
24+ return generator ;
25+ }
26+ o2 ::eventgen ::GeneratorEvtGen * makeStarlightToEvtGenGenerator (std ::string configuration ,
27+ float energyCM ,
28+ int beam1Z ,
29+ int beam1A ,
30+ int beam2Z ,
31+ int beam2A ,
32+ std ::string extraParams = "" ,
33+ std ::string dpmjetconf = "" )
34+ {
35+ auto generator = makeStarlightGenerator (configuration , energyCM , beam1Z , beam1A , beam2Z , beam2A , extraParams , dpmjetconf );
36+ generator -> SetPolarization (1 ); //Transversal
37+ generator -> SetSizePdg (2 );
38+ generator -> AddPdg (443 ,0 );
39+ generator -> AddPdg (100443 ,1 );
40+ TString pathO2 = gSystem -> ExpandPathName ("$O2DPG_MC_CONFIG_ROOT/MC/config/PWGUD/external/generator/DecayTablesEvtGen" );
41+ if (configuration .find ("Psi2sToMuPi" ) != std ::string ::npos ) generator -> SetDecayTable (Form ("%s/PSI2S.MUMUPIPI.DEC" ,pathO2 .Data ()));
42+ else if (configuration .find ("Psi2sToElPi" ) != std ::string ::npos ) generator -> SetDecayTable (Form ("%s/PSI2S.EEPIPI.DEC" ,pathO2 .Data ()));
43+ else if (configuration .find ("JpsiToElRad" ) != std ::string ::npos ) gen -> SetDecayTable (Form ("%s/JPSI.EE.DEC" ,pathO2 .Data ()));
2444 return generator ;
2545}
2646} // namespace
2747
2848FairGenerator * GeneratorCocktailStarlightMidy_PbPb5TeV (float energyCM = 5360 , int beam1Z = 82 , int beam1A = 208 , int beam2Z = 82 , int beam2A = 208 , std ::string extrapars = "" ,std ::string dpmjetconf = "" )
2949{
3050 auto genCocktailEvtGen = new o2 ::eventgen ::GeneratorEvtGen < GeneratorCocktail > ();
31- auto genCohJpsi = makeStarlightGenerator ("kCohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
51+ auto genCohJpsi = makeStarlightToEvtGenGenerator ("kCohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
3252 genCocktailEvtGen -> AddGenerator (genCohJpsi , 1 );
33- auto genIncohJpsi = makeStarlightGenerator ("kIncohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
53+ auto genIncohJpsi = makeStarlightToEvtGenGenerator ("kIncohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
3454 genCocktailEvtGen -> AddGenerator (genIncohJpsi , 1 );
3555 auto genTwoGammaToEl = makeStarlightGenerator ("kTwoGammaToElLow" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
3656 genCocktailEvtGen -> AddGenerator (genTwoGammaToEl , 1 );
37- auto genCohPsi2S = makeStarlightGenerator ("kCohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
57+ auto genCohPsi2S = makeStarlightToEvtGenGenerator ("kCohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
3858 genCocktailEvtGen -> AddGenerator (genCohPsi2S , 1 );
39- auto genIncohPsi2S = makeStarlightGenerator ("kIncohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
59+ auto genIncohPsi2S = makeStarlightToEvtGenGenerator ("kIncohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
60+ genCocktailEvtGen -> AddGenerator (genIncohPsi2S , 1 );
61+
62+ return genCocktailEvtGen ;
63+ }
64+
65+ FairGenerator * GeneratorCocktailStarlightCoherentMidy_PbPb5TeV (float energyCM = 5360 , int beam1Z = 82 , int beam1A = 208 , int beam2Z = 82 , int beam2A = 208 , std ::string extrapars = "" ,std ::string dpmjetconf = "" )
66+ {
67+ auto genCocktailEvtGen = new o2 ::eventgen ::GeneratorEvtGen < GeneratorCocktail > ( );
68+ auto genCohJpsi = makeStarlightToEvtGenGenerator ("kCohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
69+ genCocktailEvtGen -> AddGenerator (genCohJpsi , 1 );
70+ auto genTwoGammaToEl = makeStarlightGenerator ("kTwoGammaToElLow" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
71+ genCocktailEvtGen -> AddGenerator (genTwoGammaToEl , 1 );
72+ auto genCohPsi2S = makeStarlightToEvtGenGenerator ("kCohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
73+ genCocktailEvtGen -> AddGenerator (genCohPsi2S , 1 );
74+
75+ return genCocktailEvtGen ;
76+ }
77+
78+ FairGenerator * GeneratorCocktailStarlightIncoherentMidy_PbPb5TeV (float energyCM = 5360 , int beam1Z = 82 , int beam1A = 208 , int beam2Z = 82 , int beam2A = 208 , std ::string extrapars = "",std ::string dpmjetconf = "")
79+ {
80+ auto genCocktailEvtGen = new o2 ::eventgen ::GeneratorEvtGen < GeneratorCocktail > ();
81+ auto genIncohJpsi = makeStarlightToEvtGenGenerator ("kIncohJpsiToElRad" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
82+ genCocktailEvtGen -> AddGenerator (genIncohJpsi , 1 );
83+ auto genIncohPsi2S = makeStarlightToEvtGenGenerator ("kIncohPsi2sToElPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
84+ genCocktailEvtGen -> AddGenerator (genIncohPsi2S , 1 );
85+
86+ return genCocktailEvtGen ;
87+ }
88+
89+ FairGenerator * GeneratorCocktailStarlightCoherentFwdy_PbPb5TeV (float energyCM = 5360 , int beam1Z = 82 , int beam1A = 208 , int beam2Z = 82 , int beam2A = 208 , std ::string extrapars = "" ,std ::string dpmjetconf = "" )
90+ {
91+ auto genCocktailEvtGen = new o2 ::eventgen ::GeneratorEvtGen < GeneratorCocktail > ();
92+ auto genCohJpsi = makeStarlightGenerator ("kCohJpsiToMu" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
93+ genCocktailEvtGen -> AddGenerator (genCohJpsi , 1 );
94+ auto genTwoGammaToEl = makeStarlightGenerator ("kTwoGammaToMuLow" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
95+ genCocktailEvtGen -> AddGenerator (genTwoGammaToEl , 1 );
96+ auto genCohPsi2S = makeStarlightToEvtGenGenerator ("kCohPsi2sToMuPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
97+ genCocktailEvtGen -> AddGenerator (genCohPsi2S , 1 );
98+
99+ return genCocktailEvtGen ;
100+ }
101+
102+ FairGenerator * GeneratorCocktailStarlightIncoherentFwdy_PbPb5TeV (float energyCM = 5360 , int beam1Z = 82 , int beam1A = 208 , int beam2Z = 82 , int beam2A = 208 , std ::string extrapars = "" ,std ::string dpmjetconf = "" )
103+ {
104+ auto genCocktailEvtGen = new o2 ::eventgen ::GeneratorEvtGen < GeneratorCocktail > ( );
105+ auto genIncohJpsi = makeStarlightGenerator ("kIncohJpsiToMu" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
106+ genCocktailEvtGen -> AddGenerator (genIncohJpsi , 1 );
107+ auto genIncohPsi2S = makeStarlightToEvtGenGenerator ("kIncohPsi2sToMuPi" , energyCM , beam1Z , beam1A , beam2Z , beam2A , extrapars , dpmjetconf );
40108 genCocktailEvtGen -> AddGenerator (genIncohPsi2S , 1 );
41109
42- TString pdgs = "443;100443" ;
43- std ::string spdg ;
44- TObjArray * obj = pdgs .Tokenize (";" );
45- genCocktailEvtGen -> SetSizePdg (obj -> GetEntriesFast ());
46- for (int i = 0 ; i < obj -> GetEntriesFast (); i ++ ) {
47- spdg = obj -> At (i )-> GetName ();
48- genCocktailEvtGen -> AddPdg (std ::stoi (spdg ), i );
49- printf ("PDG %d \n" , std ::stoi (spdg ));
50- }
51- genCocktailEvtGen -> SetForceDecay (kEvtPsiPrimeJpsiDiElectron );
52110 return genCocktailEvtGen ;
53111}
0 commit comments