Skip to content

Commit 936ac41

Browse files
mcoquet642sawenzel
authored andcommitted
Updating forward scripts
1 parent 794d217 commit 936ac41

File tree

3 files changed

+110
-3
lines changed

3 files changed

+110
-3
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
// usage
2+
// o2-sim -j 4 -n 10 -g external -o sgn --configKeyValues "GeneratorExternal.fileName=GeneratorParamPromptJpsiToMuonEvtGen_pp13TeV.C;GeneratorExternal.funcName=GeneratorParamPromptJpsiToMuonEvtGen_pp13TeV()"
3+
//
4+
R__ADD_INCLUDE_PATH($O2DPG_ROOT / MC / config / PWGDQ / EvtGen)
5+
#include "GeneratorEvtGen.C"
6+
7+
namespace o2
8+
{
9+
namespace eventgen
10+
{
11+
12+
class O2_GeneratorParamJpsi : public GeneratorTGenerator
13+
{
14+
15+
public:
16+
O2_GeneratorParamJpsi() : GeneratorTGenerator("ParamJpsi")
17+
{
18+
paramJpsi = new GeneratorParam(1, -1, PtJPsipp13TeV, YJPsipp13TeV, V2JPsipp13TeV, IpJPsipp13TeV);
19+
paramJpsi->SetMomentumRange(0., 1.e6);
20+
paramJpsi->SetPtRange(0, 999.);
21+
paramJpsi->SetYRange(-4.2, -2.3);
22+
paramJpsi->SetPhiRange(0., 360.);
23+
paramJpsi->SetDecayer(new TPythia6Decayer());
24+
paramJpsi->SetForceDecay(kNoDecay); // particle left undecayed
25+
setTGenerator(paramJpsi);
26+
};
27+
28+
~O2_GeneratorParamJpsi()
29+
{
30+
delete paramJpsi;
31+
};
32+
33+
Bool_t Init() override
34+
{
35+
GeneratorTGenerator::Init();
36+
paramJpsi->Init();
37+
return true;
38+
}
39+
40+
void SetNSignalPerEvent(Int_t nsig) { paramJpsi->SetNumberParticles(nsig); }
41+
42+
//-------------------------------------------------------------------------//
43+
static Double_t PtJPsipp13TeV(const Double_t* px, const Double_t* /*dummy*/)
44+
{
45+
// jpsi pT in pp at 13 TeV, tuned on data (2015)
46+
Double_t x = *px;
47+
Float_t p0, p1, p2, p3;
48+
p0 = 1;
49+
p1 = 4.75208;
50+
p2 = 1.69247;
51+
p3 = 4.49224;
52+
return p0 * x / TMath::Power(1. + TMath::Power(x / p1, p2), p3);
53+
}
54+
55+
//-------------------------------------------------------------------------//
56+
static Double_t YJPsipp13TeV(const Double_t* py, const Double_t* /*dummy*/)
57+
{
58+
// jpsi y in pp at 13 TeV, tuned on data (2015)
59+
Double_t y = *py;
60+
Float_t p0, p1, p2;
61+
p0 = 1;
62+
p1 = 0;
63+
p2 = 2.98887;
64+
return p0 * TMath::Exp(-(1. / 2.) * TMath::Power(((y - p1) / p2), 2));
65+
}
66+
67+
//-------------------------------------------------------------------------//
68+
static Double_t V2JPsipp13TeV(const Double_t* /*dummy*/, const Double_t* /*dummy*/)
69+
{
70+
// jpsi v2
71+
return 0.;
72+
}
73+
74+
//-------------------------------------------------------------------------//
75+
static Int_t IpJPsipp13TeV(TRandom*)
76+
{
77+
return 443;
78+
}
79+
80+
private:
81+
GeneratorParam* paramJpsi = nullptr;
82+
};
83+
84+
} // namespace eventgen
85+
} // namespace o2
86+
87+
FairGenerator*
88+
GeneratorParamPromptJpsiToMuonEvtGen_pp13TeV(TString pdgs = "443")
89+
{
90+
auto gen = new o2::eventgen::GeneratorEvtGen<o2::eventgen::O2_GeneratorParamJpsi>();
91+
gen->SetNSignalPerEvent(1); // number of jpsis per event
92+
93+
std::string spdg;
94+
TObjArray* obj = pdgs.Tokenize(";");
95+
gen->SetSizePdg(obj->GetEntriesFast());
96+
for (int i = 0; i < obj->GetEntriesFast(); i++) {
97+
spdg = obj->At(i)->GetName();
98+
gen->AddPdg(std::stoi(spdg), i);
99+
printf("PDG %d \n", std::stoi(spdg));
100+
}
101+
gen->SetForceDecay(kEvtDiMuon);
102+
103+
// print debug
104+
gen->PrintDebug();
105+
106+
return gen;
107+
}

MC/run/PWGDQ/runBeautyToJpsi_fwdy_pp.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ NBKGEVENTS=${NBKGEVENTS:-1}
1414
NWORKERS=${NWORKERS:-8}
1515
NTIMEFRAMES=${NTIMEFRAMES:-1}
1616

17-
${O2DPG_ROOT}/MC/bin/o2dpg_sim_workflow.py -eCM 900 -gen external -j ${NWORKERS} -ns ${NSIGEVENTS} -tf ${NTIMEFRAMES} -e TGeant4 -mod "--skipModules ZDC" \
17+
${O2DPG_ROOT}/MC/bin/o2dpg_sim_workflow.py -eCM 13600 -gen external -j ${NWORKERS} -ns ${NSIGEVENTS} -tf ${NTIMEFRAMES} -e TGeant4 -mod "--skipModules ZDC" \
1818
-trigger "external" -ini $O2DPG_ROOT/MC/config/PWGDQ/ini/GeneratorHF_bbbar_fwdy.ini \
1919
-genBkg pythia8 -procBkg inel -colBkg pp --embedding -nb ${NBKGEVENTS} --mft-reco-full
2020

MC/run/PWGDQ/runPromptCharmonia_fwdy_pp.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ NBKGEVENTS=${NBKGEVENTS:-1}
1414
NWORKERS=${NWORKERS:-8}
1515
NTIMEFRAMES=${NTIMEFRAMES:-1}
1616

17-
${O2DPG_ROOT}/MC/bin/o2dpg_sim_workflow.py -eCM 900 -gen external -j ${NWORKERS} -ns ${NSIGEVENTS} -tf ${NTIMEFRAMES} -e TGeant4 -mod "--skipModules ZDC" \
18-
-confKey "GeneratorExternal.fileName=${O2DPG_ROOT}/MC/config/PWGDQ/external/generator/GeneratorCocktailPromptCharmoniaToMuonEvtGen_pp13TeV.C;GeneratorExternal.funcName=GeneratorCocktailPromptCharmoniaToMuonEvtGen_pp13TeV()" \
17+
${O2DPG_ROOT}/MC/bin/o2dpg_sim_workflow.py -eCM 13600 -gen external -j ${NWORKERS} -ns ${NSIGEVENTS} -tf ${NTIMEFRAMES} -e TGeant4 -mod "--skipModules ZDC" \
18+
-confKey "GeneratorExternal.fileName=${O2DPG_ROOT}/MC/config/PWGDQ/external/generator/GeneratorParamPromptJpsiToMuonEvtGen_pp13TeV.C;GeneratorExternal.funcName=GeneratorParamPromptJpsiToMuonEvtGen_pp13TeV()" \
1919
-genBkg pythia8 -procBkg inel -colBkg pp --embedding -nb ${NBKGEVENTS} --mft-reco-full
2020

2121

0 commit comments

Comments
 (0)