Skip to content

Commit d23d257

Browse files
committed
adding chi_c1(3872) in the B decay table
1 parent 6ab618e commit d23d257

6 files changed

Lines changed: 164 additions & 65 deletions

‎MC/config/PWGDQ/EvtGen/DecayTablesEvtgen/BTOPSIJPSITODIELECTRON.DEC‎

Lines changed: 94 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,22 @@ Decay B0
3636
0.000660000 J/psi K*0 pi+ pi- PHSP; #[New mode added] #[Reconstructed PDG2011]
3737

3838
# --- chi_c1 ---
39-
0.000011200 chi_c1 pi0 PHSP;
40-
0.000395000 chi_c1 K0 SVS;
41-
0.000497000 chi_c1 K+ pi- PHSP;
42-
0.000320000 chi_c1 K0 pi+ pi- PHSP;
43-
0.000350000 chi_c1 K+ pi0 pi- PHSP;
39+
0.000011200 chi_c1 pi0 PHSP;
40+
0.000395000 chi_c1 K0 SVS;
41+
0.000497000 chi_c1 K+ pi- PHSP;
42+
0.000320000 chi_c1 K0 pi+ pi- PHSP;
43+
0.000350000 chi_c1 K+ pi0 pi- PHSP;
4444

4545
# --- chi_c2 ---
46-
0.000015000 chi_c2 K0 STS;
47-
0.000049000 chi_c2 K*0 PHSP;
48-
0.000072000 chi_c2 K+ pi- PHSP;
49-
0.000174000 chi_c2 pi+ pi- K0 PHSP;
50-
0.000074000 chi_c2 pi- pi0 K+ PHSP;
46+
0.000015000 chi_c2 K0 STS;
47+
0.000049000 chi_c2 K*0 PHSP;
48+
0.000072000 chi_c2 K+ pi- PHSP;
49+
0.000174000 chi_c2 pi+ pi- K0 PHSP;
50+
0.000074000 chi_c2 pi- pi0 K+ PHSP;
51+
52+
# --- chi_c1(3872) ---
53+
0.000110000 X_1(3872) K0 SVS;
54+
0.000180000 X_1(3872) K+ pi- PHSP;
5155
Enddecay
5256

5357
Decay anti-B0
@@ -87,18 +91,23 @@ Decay anti-B0
8791
0.000660000 J/psi anti-K*0 pi- pi+ PHSP; #[New mode added] #[Reconstructed PDG2011]
8892

8993
# --- chi_c1 ---
90-
0.000011200 chi_c1 pi0 PHSP;
91-
0.000395000 chi_c1 anti-K0 SVS;
92-
0.000497000 chi_c1 K- pi+ PHSP;
93-
0.000320000 chi_c1 anti-K0 pi- pi+ PHSP;
94-
0.000350000 chi_c1 K- pi0 pi+ PHSP;
94+
0.000011200 chi_c1 pi0 PHSP;
95+
0.000395000 chi_c1 anti-K0 SVS;
96+
0.000497000 chi_c1 K- pi+ PHSP;
97+
0.000320000 chi_c1 anti-K0 pi- pi+ PHSP;
98+
0.000350000 chi_c1 K- pi0 pi+ PHSP;
9599

96100
# --- chi_c2 ---
97-
0.000015000 chi_c2 anti-K0 STS;
98-
0.000049000 chi_c2 anti-K*0 PHSP;
99-
0.000072000 chi_c2 K- pi+ PHSP;
100-
0.000174000 chi_c2 pi- pi+ anti-K0 PHSP;
101-
0.000074000 chi_c2 pi+ pi0 K- PHSP;
101+
0.000015000 chi_c2 anti-K0 STS;
102+
0.000049000 chi_c2 anti-K*0 PHSP;
103+
0.000072000 chi_c2 K- pi+ PHSP;
104+
0.000174000 chi_c2 pi- pi+ anti-K0 PHSP;
105+
0.000074000 chi_c2 pi+ pi0 K- PHSP;
106+
107+
# --- chi_c1(3872) ---
108+
0.000110000 X_1(3872) anti-K0 SVS;
109+
0.000180000 X_1(3872) K- pi+ PHSP;
110+
102111
Enddecay
103112

104113
Decay B+
@@ -134,19 +143,23 @@ Decay B+
134143
0.000011800 J/psi p+ anti-Lambda0 PHSP; #[New mode added] #[Reconstructed PDG2011]
135144

136145
# --- chi_c1 ---
137-
0.000022000 chi_c1 pi+ PHSP;
138-
0.000474000 chi_c1 K+ SVS;
139-
0.000300000 chi_c1 K*+ SVV_HELAMP PKHplus PKphHplus PKHzero PKphHzero PKHminus PKphHminus;
140-
0.000329000 chi_c1 K+ pi0 PHSP;
141-
0.000580000 chi_c1 K0 pi+ PHSP;
142-
0.000374000 chi_c1 K+ pi+ pi- PHSP;
146+
0.000022000 chi_c1 pi+ PHSP;
147+
0.000474000 chi_c1 K+ SVS;
148+
0.000300000 chi_c1 K*+ SVV_HELAMP PKHplus PKphHplus PKHzero PKphHzero PKHminus PKphHminus;
149+
0.000329000 chi_c1 K+ pi0 PHSP;
150+
0.000580000 chi_c1 K0 pi+ PHSP;
151+
0.000374000 chi_c1 K+ pi+ pi- PHSP;
143152

144153
# --- chi_c2 ---
145-
0.000110000 chi_c2 K+ STS;
146-
0.000120000 chi_c2 K*+ PHSP;
147-
0.000062000 chi_c2 K+ pi0 PHSP;
148-
0.000124000 chi_c2 K0 pi+ PHSP;
149-
0.000134000 chi_c2 K+ pi+ pi- PHSP;
154+
0.000110000 chi_c2 K+ STS;
155+
0.000120000 chi_c2 K*+ PHSP;
156+
0.000062000 chi_c2 K+ pi0 PHSP;
157+
0.000124000 chi_c2 K0 pi+ PHSP;
158+
0.000134000 chi_c2 K+ pi+ pi- PHSP;
159+
160+
# --- chi_c1(3872) ---
161+
0.000190000 X_1(3872) K+ SVS;
162+
0.000240000 X_1(3872) K0 pi+ PHSP;
150163
Enddecay
151164

152165
Decay B-
@@ -181,19 +194,24 @@ Decay B-
181194
0.000011800 J/psi anti-p- Lambda0 PHSP; #[New mode added] #[Reconstructed PDG2011]
182195

183196
# --- chi_c1 ---
184-
0.000022000 chi_c1 pi- PHSP;
185-
0.000474000 chi_c1 K- SVS;
186-
0.000300000 chi_c1 K*- SVV_HELAMP PKHminus PKphHminus PKHzero PKphHzero PKHplus PKphHplus;
187-
0.000329000 chi_c1 K- pi0 PHSP;
188-
0.000580000 chi_c1 anti-K0 pi- PHSP;
189-
0.000374000 chi_c1 K- pi- pi+ PHSP;
197+
0.000022000 chi_c1 pi- PHSP;
198+
0.000474000 chi_c1 K- SVS;
199+
0.000300000 chi_c1 K*- SVV_HELAMP PKHminus PKphHminus PKHzero PKphHzero PKHplus PKphHplus;
200+
0.000329000 chi_c1 K- pi0 PHSP;
201+
0.000580000 chi_c1 anti-K0 pi- PHSP;
202+
0.000374000 chi_c1 K- pi- pi+ PHSP;
190203

191204
# --- chi_c2 ---
192-
0.000110000 chi_c2 K- STS;
193-
0.000120000 chi_c2 K*- PHSP;
194-
0.000062000 chi_c2 K- pi0 PHSP;
195-
0.000124000 chi_c2 anti-K0 pi- PHSP;
196-
0.000134000 chi_c2 K- pi- pi+ PHSP;
205+
0.000110000 chi_c2 K- STS;
206+
0.000120000 chi_c2 K*- PHSP;
207+
0.000062000 chi_c2 K- pi0 PHSP;
208+
0.000124000 chi_c2 anti-K0 pi- PHSP;
209+
0.000134000 chi_c2 K- pi- pi+ PHSP;
210+
211+
# --- chi_c1(3872) ---
212+
0.000190000 X_1(3872) K- SVS;
213+
0.000240000 X_1(3872) K0 pi- PHSP;
214+
197215
Enddecay
198216

199217
Decay B_s0
@@ -242,7 +260,13 @@ Decay B_s0
242260
0.0000023 phi e+ e- BTOSLLALI;
243261

244262
# --- chi_c1 ---
245-
0.0001920 chi_c1 phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
263+
0.0001920 chi_c1 phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
264+
265+
# --- chi_c1(3872) ---
266+
0.000096000 X_1(3872) phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
267+
0.000076000 X_1(3872) K+ K- PHSP;
268+
0.000037000 X_1(3872) pi+ pi- PHSP;
269+
246270
Enddecay
247271

248272
Decay anti-B_s0
@@ -290,7 +314,12 @@ Decay anti-B_s0
290314
0.0000023 phi e- e+ BTOSLLALI;
291315

292316
# --- chi_c1 ---
293-
0.0001970 chi_c1 phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
317+
0.0001970 chi_c1 phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
318+
319+
# --- chi_c1(3872) ---
320+
0.000096000 X_1(3872) phi SVV_HELAMP 1.0 0.0 1.0 0.0 1.0 0.0;
321+
0.000076000 X_1(3872) K+ K- PHSP;
322+
0.000037000 X_1(3872) pi+ pi- PHSP;
294323
Enddecay
295324

296325
Decay Lambda_b0
@@ -302,10 +331,14 @@ Decay Lambda_b0
302331
0.00032 p+ J/psi K- PHSP;
303332
0.000066 p+ J/psi pi- pi+ K- PHSP;
304333
0.000066 p+ psi(2S) K- PHSP;
305-
0.0000760 chi_c1 p+ K- PHSP;
306-
0.0000050 chi_c1 p+ pi- PHSP;
307-
0.0000770 chi_c2 p+ K- PHSP;
308-
0.0000048 chi_c2 p+ pi- PHSP;
334+
0.0000760 chi_c1 p+ K- PHSP;
335+
0.0000050 chi_c1 p+ pi- PHSP;
336+
0.0000770 chi_c2 p+ K- PHSP;
337+
0.0000048 chi_c2 p+ pi- PHSP;
338+
339+
# --- chi_c1(3872) ---
340+
0.0000280 X_1(3872) p+ K- PHSP;
341+
0.0000160 X_1(3872) Lambda(1520)0 PHSP;
309342
Enddecay
310343

311344
Decay anti-Lambda_b0
@@ -317,10 +350,14 @@ Decay anti-Lambda_b0
317350
0.00032 anti-p- J/psi K+ PHSP;
318351
0.000066 anti-p- J/psi pi- pi+ K+ PHSP;
319352
0.000066 anti-p- psi(2S) K+ PHSP;
320-
0.0000760 chi_c1 anti-p- K+ PHSP;
321-
0.0000050 chi_c1 anti-p- pi+ PHSP;
322-
0.0000770 chi_c2 anti-p- K+ PHSP;
323-
0.0000048 chi_c2 anti-p- pi+ PHSP;
353+
0.0000760 chi_c1 anti-p- K+ PHSP;
354+
0.0000050 chi_c1 anti-p- pi+ PHSP;
355+
0.0000770 chi_c2 anti-p- K+ PHSP;
356+
0.0000048 chi_c2 anti-p- pi+ PHSP;
357+
358+
# --- chi_c1(3872) ---
359+
0.0000280 X_1(3872) anti-p- K+ PHSP;
360+
0.0000160 X_1(3872) anti-Lambda(1520)0 PHSP;
324361
Enddecay
325362

326363
Decay Xi_b-
@@ -410,5 +447,10 @@ Decay Upsilon(3S)
410447
1.000 e+ e- PHOTOS VLL;
411448
Enddecay
412449

450+
Decay X_1(3872)
451+
#### Breit-Wigner function for the pion distribution (S-Wave approximation)
452+
1.000 J/psi pi+ pi- XJPSIRHO0PIPI_S;
453+
Enddecay
454+
413455
End
414456

‎MC/config/PWGDQ/EvtGen/DecayTablesEvtgen/CHARMONIATOJPSIANDDIELECTRON.DEC‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,9 @@ Decay Upsilon(3S)
3939
1.000 e+ e- PHOTOS VLL;
4040
Enddecay
4141

42+
Decay X_1(3872)
43+
#### Breit-Wigner function for the pion distribution (S-Wave approximation)
44+
1.000 J/psi pi+ pi- XJPSIRHO0PIPI_S;
45+
Enddecay
46+
4247
End

‎MC/config/PWGDQ/external/generator/generator_pythia8_HadronTriggered_withGap.C‎

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public:
3333
mConfigMBdecays = "";
3434
mRapidityMin = -1.;
3535
mRapidityMax = 1.;
36-
mVerbose = false;
36+
mVerbose = false;
37+
mUseExternalGenerator = false;
3738
}
3839

3940
/// Destructor
@@ -78,6 +79,12 @@ public:
7879
int getNGeneratedEvents() { return mGeneratedEvents; }
7980

8081
int getTriggerGap() { return mInverseTriggerRatio; }
82+
83+
void setExternalGenerator(GeneratorPythia8* gen, float prob) {
84+
mExternalGenerator = gen;
85+
mUseExternalGen = true;
86+
mProbExternalGen = prob;
87+
}
8188

8289
protected:
8390

@@ -110,6 +117,39 @@ bool generateEvent() override {
110117
return true;
111118
}
112119

120+
bool importParticles() override
121+
{
122+
// Possibility to make more actions after particles are imported, such as injected additional particles on top
123+
// or modifying some PDG values
124+
if (!GeneratorPythia8::importParticles()) {
125+
return false;
126+
}
127+
bool genOk = false;
128+
// we use the external generator to simulate independent particles to be added on top
129+
if (mUseExternalGenerator && mGeneratedEvents % mInverseTriggerRatio == 0){
130+
bool genOk = false;
131+
while (!genOk){
132+
genOk = (mExternalGenerator->generateEvent() && mExternalGenerator->importParticles()) ? true : false ;
133+
}
134+
int originalSize = mParticles.size();
135+
for(int ipart = 0; ipart < mExternalGenerator->getParticles().size(); ipart++){
136+
TParticle part = TParticle(mExternalGenerator->getParticles().at(ipart));
137+
if(part.GetFirstMother() >= 0) part.SetFirstMother(part.GetFirstMother() + originalSize);
138+
if(part.GetFirstDaughter() >= 0) part.SetFirstDaughter(part.GetFirstDaughter() + originalSize);
139+
if(part.GetLastDaughter() >= 0) part.SetLastDaughter(part.GetLastDaughter() + originalSize);
140+
mParticles.push_back(part);
141+
}
142+
mExternalGenerator->clearParticles();
143+
}
144+
145+
mGeneratedEvents++;
146+
147+
if (!makeEvtGenDecays()) {
148+
return false;
149+
}
150+
return true;
151+
}
152+
113153
bool Init() override {
114154

115155
if(mConfigMBdecays.Contains("cfg")) {
@@ -242,6 +282,12 @@ private:
242282
double mRapidityMin;
243283
double mRapidityMax;
244284
bool mVerbose;
285+
// external generator to inject particles which are not generated by Pythia (e.g. chi_c1(3872))
286+
bool mUseExternalGen;
287+
GeneratorPythia8* mExternalGenerator;
288+
float mProbExternalGen; // we call this generator only for a fraction of events
289+
bool mEventFlagExternalGen; // the decision on whether to use the generator is done in the event findHadrons loop,
290+
// so we use this flag to keep track of it at the time we can inject new particles
245291
};
246292

247293
}
@@ -390,7 +436,7 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
390436
// The keyword can be used for only one particle (e.g. "pdg1:rejFactor1:prompt,pdg1:rejFactor2:non-prompt")
391437
// Example if you want only to trigger on a given particle p: "prompt:0,non-prompt:0,p:1"
392438

393-
int particleList[16] = {
439+
int particleList[17] = {
394440
443, // Jpsi
395441
100443, // psi(2S)
396442
553, // upsilon(1S)
@@ -399,6 +445,7 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
399445
10441, // chic0
400446
20443, // chic1
401447
445, // chic2
448+
9920443, // chic1(3872)
402449
// we also add B hadrons to trigger correct rapidity range (e.g. B is
403450
// within |y|<1 but non-prompt J/psi has |y|>1)
404451
511, // B0
@@ -423,7 +470,7 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
423470
gen->setRapidityRange(rapidityMin - 1., rapidityMax + 1.);
424471
}
425472
// specify particles to be triggered
426-
for (int i = 0; i < 16; i++) {
473+
for (int i = 0; i < 17; i++) {
427474
gen->addHadronPDGs(particleList[i]);
428475
}
429476
gen->setVerbose(verbose);
@@ -445,14 +492,14 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
445492
}
446493
if (str0.CompareTo("prompt") == 0) {
447494
// Common switch for all prompt particles
448-
for (int ihad = 0; ihad < 16; ihad++) {
495+
for (int ihad = 0; ihad < 17; ihad++) {
449496
gen->setRejFactorPrompt(particleList[ihad], str1.Atof());
450497
}
451498
continue;
452499
}
453500
if (str0.CompareTo("non-prompt") == 0) {
454501
// Common switch for all non-prompt particles
455-
for (int ihad = 0; ihad < 16; ihad++) {
502+
for (int ihad = 0; ihad < 17; ihad++) {
456503
gen->setRejFactorNonPrompt(particleList[ihad], str1.Atof());
457504
}
458505
continue;
@@ -494,10 +541,10 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
494541
gen->PrintDebug(true);
495542

496543
// specify particles to be decayed with EvtGen
497-
gen->SetSizePdg(16);
498-
for (int i = 0; i < 16; i++) {
544+
gen->SetSizePdg(17);
545+
for (int i = 0; i < 17; i++) {
499546
// Decay only what was left undecayed by Pythia
500-
if (decayMode == 0 || (i <= 7 && decayMode == 1) || (i <= 4 && decayMode == 2)) {
547+
if (decayMode == 0 || (i <= 8 && decayMode == 1) || (i <= 4 && decayMode == 2)) {
501548
gen->AddPdg(particleList[i], i);
502549
}
503550
}
@@ -525,9 +572,9 @@ FairGenerator *GeneratorInclusiveAllQuarkonia_EvtGenMidY(int triggerGap, double
525572

526573
// add trigger on the correct rapidity range after EvtGen decays
527574
if (decayMode != 2) {
528-
// In this case EvtGen will not affect charmonia rapidities, so no need to start with a looser rapidity cut, first trigger already does the job
575+
// If decayMode == 2, EvtGen will not affect charmonia rapidities, so no need to start with a looser rapidity cut, first trigger already does the job
529576
gen->setTriggerMode(Generator::kTriggerOR);
530-
for (int i = 0; i < 16; i++) {
577+
for (int i = 0; i < 17; i++) {
531578
// we trigger either on B hadron rapidity or on charmonia rapidity
532579
gen->addTrigger(triggerPDGRap(rapidityMin, rapidityMax, particleList[i], gen));
533580
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
### The external generator derives from GeneratorPythia8.
22
[GeneratorExternal]
33
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/external/generator/generator_pythia8_HadronTriggered_withGap.C
4-
funcName=GeneratorInclusiveJpsiPsi2SChiC_EvtGenMidY(5,-1.5,1.5)
4+
funcName=GeneratorInclusiveJpsiPsi2SChiC_EvtGenMidY(5,-1.,1.)
55

66
[GeneratorPythia8]
77
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/pythia8/generator/pythia8_inel_triggerGap.cfg
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
### The external generator derives from GeneratorPythia8.
22
[GeneratorExternal]
33
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/external/generator/generator_pythia8_HadronTriggered_withGap.C
4-
funcName=GeneratorInclusiveAllQuarkonia_EvtGenMidY(5,-1.0,1.0,"",1)
4+
funcName=GeneratorInclusiveAllQuarkonia_EvtGenMidY(5,-1.0,1.0,"443:0.5,20443:0.17,445:0.095,10441:0.014",1)
5+
# enhances psi(2S) compared to J/psi and chi_c1,2
6+
# reduces chi_c so that their feeddown to J/psi is the same as if decay to J/psi was not forced
57

68
[GeneratorPythia8]
79
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/pythia8/generator/pythia8_oniaAll_triggerGap.cfg

0 commit comments

Comments
 (0)