Skip to content

Commit 1a10610

Browse files
authored
Merge 8a0ac93 into sapling-pr-archive-ehellbar
2 parents 4bfcf53 + 8a0ac93 commit 1a10610

10 files changed

Lines changed: 301 additions & 27 deletions

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
/DATA/testing/detectors/TRD
1818
/DATA/testing/detectors/ZDC
1919

20-
/MC @sawenzel @chiarazampolli @jackal1-66
20+
/MC @sawenzel @jackal1-66
2121

2222
# PWG experts
2323
/MC/*/ALICE3 @njacazio

DATA/production/calib/its-threshold-aggregator.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PROXY_INSPEC="tunestring:ITS/TSTR;runtype:ITS/RUNT;fittype:ITS/FITT;scantype:ITS
1010

1111
CCDBPATH1=""
1212
CCDBPATH2=""
13-
if [ $RUNTYPE_ITS == "tuning" ] || [ $RUNTYPE_ITS == "digital" ] || [ $RUNTYPE_ITS == "tuningbb" ]; then
13+
if [[ $RUNTYPE_ITS == "tuning" ]] || [[ $RUNTYPE_ITS == *digital* ]] || [[ $RUNTYPE_ITS == "tuningbb" ]]; then
1414
CCDBPATH1="$DCSCCDBSERVER_PERS"
1515
CCDBPATH2="http://o2-ccdb.internal"
1616
else
@@ -26,7 +26,7 @@ WORKFLOW=
2626
add_W o2-dpl-raw-proxy "--exit-transition-timeout 20 --proxy-name its-thr-input-proxy --dataspec \"$PROXY_INSPEC\" --network-interface ib0 --channel-config \"name=its-thr-input-proxy,method=bind,type=pull,rateLogging=0,transport=zeromq\"" "" 0
2727
add_W o2-its-threshold-aggregator-workflow "-b" "" 0
2828
add_W o2-calibration-ccdb-populator-workflow "--ccdb-path=\"$CCDBPATH1\" --sspec-min 0 --sspec-max 0 --name-extention dcs"
29-
if [ $RUNTYPE_ITS == "digital" ]; then
29+
if [[ $RUNTYPE_ITS == *digital* ]]; then
3030
add_W o2-calibration-ccdb-populator-workflow "--ccdb-path=\"$CCDBPATH2\" --sspec-min 1 --sspec-max 1"
3131
fi
3232

DATA/production/calib/its-threshold-processing.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,19 @@ PROXY_OUTSPEC="tunestring:ITS/TSTR;runtype:ITS/RUNT;fittype:ITS/FITT;scantype:IT
1414

1515
CHIPMODBASE=5
1616
NDECODERS=6
17+
ADDITIONAL_OPTIONS_DEC=""
18+
ADDITIONAL_OPTIONS_CAL=""
1719
if [ $RUNTYPE_ITS == "digital" ]; then
1820
CHIPMODBASE=10
1921
fi
22+
if [ $RUNTYPE_ITS == "digitalnomask" ]; then
23+
CHIPMODBASE=10
24+
ADDITIONAL_OPTIONS_CAL="--ninj 5"
25+
fi
2026
if [ $RUNTYPE_ITS == "thrfull" ]; then
2127
CHIPMODBASE=20
2228
NDECODERS=10
2329
fi
24-
ADDITIONAL_OPTIONS_DEC=""
25-
ADDITIONAL_OPTIONS_CAL=""
2630
if [ $RUNTYPE_ITS == "tuningbb" ]; then
2731
ADDITIONAL_OPTIONS_CAL="--min-vcasn 30 --max-vcasn 130"
2832
fi

DATA/production/standalone-calibration.desc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ ITS-thr-full: "O2PDPSuite" reco,80,80,"RUNTYPE_ITS=thrfull production/calib/its-
1818

1919
ITS-digital: "O2PDPSuite" reco,40,40,"RUNTYPE_ITS=digital production/calib/its-threshold-processing.sh" calib,40,"RUNTYPE_ITS=digital production/calib/its-threshold-aggregator.sh"
2020

21+
ITS-digital-no-mask: "O2PDPSuite" reco,40,40,"RUNTYPE_ITS=digitalnomask production/calib/its-threshold-processing.sh" calib,40,"RUNTYPE_ITS=digitalnomask production/calib/its-threshold-aggregator.sh"
22+
2123
ITS-pulselength: "O2PDPSuite" reco,40,40,"RUNTYPE_ITS=pulselength production/calib/its-threshold-processing.sh" calib,40,"RUNTYPE_ITS=pulselength production/calib/its-threshold-aggregator.sh"
2224

2325
ITS-tot-1row: "O2PDPSuite" reco,40,40,"RUNTYPE_ITS=tot1row production/calib/its-threshold-processing.sh" calib,40,"RUNTYPE_ITS=tot1row production/calib/its-threshold-aggregator.sh"

MC/config/PWGDQ/external/generator/GeneratorPromptCharmonia.C

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,149 @@ class O2_GeneratorParamPsiMidY : public GeneratorTGenerator
168168
GeneratorParam* paramPsi = nullptr;
169169
};
170170

171+
class O2_GeneratorParamJpsiMidY_5TeV : public GeneratorTGenerator
172+
{
173+
174+
public:
175+
O2_GeneratorParamJpsiMidY_5TeV() : GeneratorTGenerator("paramJpsi")
176+
{
177+
paramJpsi = new GeneratorParam(1, -1, PtJPsipp5TeV, YJPsipp5TeV, V2JPsipp5TeV, IpJPsipp5TeV);
178+
paramJpsi->SetMomentumRange(0., 1.e6);
179+
paramJpsi->SetPtRange(0., 1000.);
180+
paramJpsi->SetYRange(-1.0, 1.0);
181+
paramJpsi->SetPhiRange(0., 360.);
182+
paramJpsi->SetDecayer(new TPythia6Decayer()); // Pythia
183+
paramJpsi->SetForceDecay(kNoDecay); // particle left undecayed
184+
setTGenerator(paramJpsi);
185+
};
186+
187+
~O2_GeneratorParamJpsiMidY_5TeV()
188+
{
189+
delete paramJpsi;
190+
};
191+
192+
Bool_t Init() override
193+
{
194+
GeneratorTGenerator::Init();
195+
paramJpsi->Init();
196+
return true;
197+
}
198+
199+
void SetNSignalPerEvent(Int_t nsig) { paramJpsi->SetNumberParticles(nsig); }
200+
201+
//-------------------------------------------------------------------------//
202+
static Double_t PtJPsipp5TeV(const Double_t* px, const Double_t* /*dummy*/)
203+
{
204+
// JPSi pt at 5.02 TeV: https: // www.hepdata.net/record/ins1735351
205+
//
206+
const Double_t kC = 1774.9;
207+
const Double_t kpt0 = 3.38452;
208+
const Double_t kn = 2.77889;
209+
Double_t pt = px[0];
210+
211+
return kC * pt / TMath::Power((1. + (pt / kpt0) * (pt / kpt0)), kn);
212+
}
213+
214+
//-------------------------------------------------------------------------//
215+
static Double_t YJPsipp5TeV(const Double_t* py, const Double_t* /*dummy*/)
216+
{
217+
// Taken the same as: jpsi y in pp at 13 TeV, tuned on data, prompt jpsi ALICE+LHCb, 13 TeV
218+
Double_t y = *py;
219+
Float_t p0, p1, p2;
220+
p0 = 7.79382e+00;
221+
p1 = 2.87827e-06;
222+
p2 = 4.41847e+00;
223+
return p0 * TMath::Exp(-(1. / 2.) * TMath::Power(((y - p1) / p2), 2));
224+
}
225+
226+
//-------------------------------------------------------------------------//
227+
static Double_t V2JPsipp5TeV(const Double_t* /*dummy*/, const Double_t* /*dummy*/)
228+
{
229+
// jpsi v2
230+
return 0.;
231+
}
232+
233+
//-------------------------------------------------------------------------//
234+
static Int_t IpJPsipp5TeV(TRandom*)
235+
{
236+
return 443;
237+
}
238+
239+
private:
240+
GeneratorParam* paramJpsi = nullptr;
241+
};
242+
243+
class O2_GeneratorParamPsiMidY_5TeV : public GeneratorTGenerator
244+
{
245+
246+
public:
247+
O2_GeneratorParamPsiMidY_5TeV() : GeneratorTGenerator("ParamPsi")
248+
{
249+
paramPsi = new GeneratorParam(1, -1, PtPsipp5TeV, YPsipp5TeV, V2Psipp5TeV, IpPsipp5TeV);
250+
paramPsi->SetMomentumRange(0., 1.e6); // Momentum range added from me
251+
paramPsi->SetPtRange(0., 1000.); // transverse of momentum range
252+
paramPsi->SetYRange(-1.0, 1.0); // rapidity range
253+
paramPsi->SetPhiRange(0., 360.); // phi range
254+
paramPsi->SetDecayer(new TPythia6Decayer()); // Pythia decayer
255+
paramPsi->SetForceDecay(kNoDecay); // particle left undecayed
256+
setTGenerator(paramPsi); // Setting parameters to ParamPsi for Psi(2S)
257+
};
258+
259+
~O2_GeneratorParamPsiMidY_5TeV()
260+
{
261+
delete paramPsi;
262+
};
263+
264+
Bool_t Init() override
265+
{
266+
GeneratorTGenerator::Init();
267+
paramPsi->Init();
268+
return true;
269+
}
270+
void SetNSignalPerEvent(Int_t nsig) { paramPsi->SetNumberParticles(nsig); }
271+
272+
//-------------------------------------------------------------------------//
273+
static Double_t PtPsipp5TeV(const Double_t* px, const Double_t* /*dummy*/)
274+
{
275+
// Same as JPsi at 5.02 TeV since ratio is almost flat in pT: https: // www.hepdata.net/record/ins1735351
276+
//
277+
const Double_t kC = 1774.9;
278+
const Double_t kpt0 = 3.38452;
279+
const Double_t kn = 2.77889;
280+
Double_t pt = px[0];
281+
282+
return kC * pt / TMath::Power((1. + (pt / kpt0) * (pt / kpt0)), kn);
283+
}
284+
285+
//-------------------------------------------------------------------------//
286+
static Double_t YPsipp5TeV(const Double_t* py, const Double_t* /*dummy*/)
287+
{
288+
// Taken same as jpsi y in pp at 13 TeV, tuned on data, prompt jpsi ALICE+LHCb, 13 TeV
289+
Double_t y = *py;
290+
Float_t p0, p1, p2;
291+
p0 = 7.79382e+00;
292+
p1 = 2.87827e-06;
293+
p2 = 4.41847e+00;
294+
return p0 * TMath::Exp(-(1. / 2.) * TMath::Power(((y - p1) / p2), 2));
295+
}
296+
297+
//-------------------------------------------------------------------------//
298+
static Double_t V2Psipp5TeV(const Double_t* /*dummy*/, const Double_t* /*dummy*/)
299+
{
300+
// jpsi v2
301+
return 0.;
302+
}
303+
304+
//-------------------------------------------------------------------------//
305+
static Int_t IpPsipp5TeV(TRandom*)
306+
{
307+
return 100443;
308+
}
309+
310+
private:
311+
GeneratorParam* paramPsi = nullptr;
312+
};
313+
171314
class O2_GeneratorParamJpsiFwdY : public GeneratorTGenerator
172315
{
173316

@@ -982,6 +1125,31 @@ FairGenerator* GeneratorCocktailPromptCharmoniaToMuonEvtGen_pp5TeV()
9821125
return genCocktailEvtGen;
9831126
}
9841127

1128+
FairGenerator* GeneratorCocktailPromptCharmoniaToElectronEvtGen_pp5TeV()
1129+
{
1130+
1131+
auto genCocktailEvtGen = new o2::eventgen::GeneratorEvtGen<GeneratorCocktail>();
1132+
1133+
auto genJpsi = new o2::eventgen::O2_GeneratorParamJpsiMidY_5TeV;
1134+
genJpsi->SetNSignalPerEvent(1); // 1 J/psi generated per event by GeneratorParam
1135+
auto genPsi = new o2::eventgen::O2_GeneratorParamPsiMidY_5TeV;
1136+
genPsi->SetNSignalPerEvent(1); // 1 Psi(2S) generated per event by GeneratorParam
1137+
genCocktailEvtGen->AddGenerator(genJpsi, 1); // add J/psi generator
1138+
genCocktailEvtGen->AddGenerator(genPsi, 1); // add Psi(2S) generator
1139+
1140+
TString pdgs = "443;100443";
1141+
std::string spdg;
1142+
TObjArray* obj = pdgs.Tokenize(";");
1143+
genCocktailEvtGen->SetSizePdg(obj->GetEntriesFast());
1144+
for (int i = 0; i < obj->GetEntriesFast(); i++) {
1145+
spdg = obj->At(i)->GetName();
1146+
genCocktailEvtGen->AddPdg(std::stoi(spdg), i);
1147+
printf("PDG %d \n", std::stoi(spdg));
1148+
}
1149+
genCocktailEvtGen->SetForceDecay(kEvtDiElectron);
1150+
1151+
return genCocktailEvtGen;
1152+
}
9851153

9861154
FairGenerator*
9871155
GeneratorParamPromptPsiToJpsiPiPiEvtGen_pp13TeV(TString pdgs = "100443")

MC/config/PWGDQ/external/generator/generator_pythia8_withInjectedPromptSignals_gaptriggered_dq.C

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ public:
5757
case 11: // generate cocktail of prompt X_1(3872) and psi2S to Jpsi pi pi at midrapidity
5858
mGeneratorParam = (Generator*)GeneratorCocktailPromptCharmoniaToMuonEvtGen_pp5TeV();
5959
break;
60+
case 12: // generate prompt charmonia cocktail at mid rapidity at 5TeV
61+
mGeneratorParam = (Generator*)GeneratorCocktailPromptCharmoniaToElectronEvtGen_pp5TeV();
62+
break;
6063
}
6164
mGeneratorParam->Init();
6265
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
### The external generator derives from GeneratorPythia8.
2+
[GeneratorExternal]
3+
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/external/generator/generator_pythia8_withInjectedPromptSignals_gaptriggered_dq.C
4+
funcName=GeneratorPythia8InjectedPromptCharmoniaGapTriggered(5,12)
5+
6+
[GeneratorPythia8]
7+
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/pythia8/generator/pythia8_inel_triggerGap_OO5TeV.cfg

MC/config/PWGDQ/pythia8/generator/pythia8_inel_triggerGap_OO5TeV.cfg

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ Beams:frameType = 1
66

77
### processes
88
SoftQCD:inelastic on # all inelastic processes
9-
CharmoniumShower:all = on
109

1110
### decays
1211
ParticleDecays:limitTau0 on

MC/config/PWGHF/pythia8/generator/pythia8_HFe_Mode2.cfg

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,39 +66,32 @@ BeamRemnants:saturation 5
6666

6767
###Semimuonic decays of charm
6868

69-
### pi0 -> e
70-
111:onIfAny = 11 -11
71-
111:onIfAny = 22 11 -11
72-
### eta -> e
73-
221:onIfAny = 11 -11
74-
221:onIfAny = 22 11 -11
75-
7669
### D+/- -> e + X
77-
411:onIfAny = -11 12
70+
411:onIfAny = 11
7871
### D0 -> e + X
79-
421:onIfAny = -11 12
72+
421:onIfAny = 11
8073
### D_s -> e + X
81-
431:onIfAny = -11 12
74+
431:onIfAny = 11
8275
### Lambda_c -> e + X
83-
4122:onIfAny = -11 12
76+
4122:onIfAny = 11
8477
### Xsi0_c -> e + X
85-
4132:onIfAny = -11 12
78+
4132:onIfAny = 11
8679
### Xsi+_c -> e + X
87-
4232:onIfAny = -11 12
80+
4232:onIfAny = 11
8881
### Omega_c -> e + X
89-
4332:onIfAny = -11 12
82+
4332:onIfAny = 11
9083

9184
### B0 -> e + X
92-
511:onIfAny = -11 12
85+
511:onIfAny = 11
9386
### B+/- -> e + X
94-
521:onIfAny = -11 12
87+
521:onIfAny = 11
9588
### B_s -> e + X
96-
531:onIfAny = -11 12
89+
531:onIfAny = 11
9790
### Lambda_b -> e + X
98-
5122:onIfAny = -11 12
91+
5122:onIfAny = 11
9992
### Xsi_b -> e + X
100-
5132:onIfAny = -11 12
93+
5132:onIfAny = 11
10194
### Xsi0_b -> e + X
102-
5232:onIfAny = -11 12
95+
5232:onIfAny = 11
10396
### Omega_b -> e + X
104-
5332:onIfAny = -11 12
97+
5332:onIfAny = 11

0 commit comments

Comments
 (0)