Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds configuration for ptHard exponent weighting for PythiaJets #463

Merged
merged 1 commit into from
Apr 2, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 37 additions & 11 deletions MC/GeneratorConfig.C
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@ enum EGenerator_t {
kGeneratorPythia8, kGeneratorPythia8_Monash2013,
// Pythia8 jets
kGeneratorPythia8Jets, kGeneratorPythia8Jets_Monash2013,
// Pythia8 jets + ptHard weighting
kGeneratorPythia8Jets_Weighted, kGeneratorPythia8Jets_Monash2013_Weighted,
// Pythia8 jets gamma-triggered
kGeneratorPythia8JetsGammaTrg, kGeneratorPythia8JetsGammaTrg_Monash2013,
// Pythia8 jets gamma-triggered + ptHard weighting
kGeneratorPythia8JetsGammaTrg_Weighted, kGeneratorPythia8JetsGammaTrg_Monash2013_Weighted,
// Pythia8 gamma-jet
kGeneratorPythia8GammaJet, kGeneratorPythia8GammaJet_Monash2013,
// Pythia8 gamma-jet + ptHard weighting
kGeneratorPythia8GammaJet_Weighted, kGeneratorPythia8GammaJet_Monash2013_Weighted,
// Phojet
kGeneratorPhojet, kGeneratorDpmjet,
// EPOS-LHC
Expand Down Expand Up @@ -74,10 +80,16 @@ const Char_t *GeneratorName[kNGenerators] = {
"Pythia8", "Pythia8_Monash2013",
// Pythia8 jets
"Pythia8Jets", "Pythia8Jets_Monash2013",
// Pythia8 jets + ptHard weighting
"Pythia8Jets_Weighted", "Pythia8Jets_Monash2013_Weighted",
// Pythia8 jets gamma-triggered
"Pythia8JetsGammaTrg", "Pythia8JetsGammaTrg_Monash2013",
// Pythia8 jets gamma-triggered + ptHard weighting
"Pythia8JetsGammaTrg_Weighted", "Pythia8JetsGammaTrg_Monash2013_Weighted",
// Pythia8 gamma-jet
"Pythia8GammaJet", "Pythia8GammaJet_Monash2013",
// Pythia8 gamma-jet + ptHard weighting
"Pythia8GammaJet_Weighted", "Pythia8GammaJet_Monash2013_Weighted",
// Phojet / DPMjet
"Phojet", "Dpmjet",
// EPOS-LHC
Expand Down Expand Up @@ -206,9 +218,9 @@ AliGenerator *GeneratorPythia6JetsGammaTrg(Int_t tune = 0, Int_t acceptance = kC
AliGenerator *GeneratorPythia6GammaJet(Int_t tune = 0, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia6Heavy(Int_t process, Int_t decay, Int_t tune = 0, Bool_t HFonly = kTRUE);
AliGenerator *GeneratorPythia8(Int_t tune = 0, Int_t pdgtrig = 0, Float_t etatrig = 1.2);
AliGenerator *GeneratorPythia8Jets(Int_t tune = 0, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia8JetsGammaTrg(Int_t tune = 0, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia8GammaJet(Int_t tune = 0, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia8Jets(Int_t tune = 0, Double_t weightPower = -1, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia8JetsGammaTrg(Int_t tune = 0, Double_t weightPower = -1, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPythia8GammaJet(Int_t tune = 0, Double_t weightPower = -1, Int_t acceptance = kCalorimeterAcceptance_FullDetector);
AliGenerator *GeneratorPhojet();
AliGenerator *GeneratorEPOSLHC(Bool_t pileup = kFALSE);
AliGenerator *GeneratorHijing();
Expand Down Expand Up @@ -237,6 +249,11 @@ void GeneratorConfig(Int_t tag)

AliGenerator *gen = NULL;

double weight = -1;

// weighting exponent to produce flat pthard distribution at LHC energy
if (tag == kGeneratorPythia8Jets_Monash2013_Weighted || tag == kGeneratorPythia8JetsGammaTrg_Monash2013_Weighted || tag == kGeneratorPythia8GammaJet_Monash2013_Weighted) weight = 6;

switch (tag) {

// Default
Expand Down Expand Up @@ -275,21 +292,27 @@ void GeneratorConfig(Int_t tag)
break;

// Pythia8Jets (Monash2013)
case kGeneratorPythia8Jets:
case kGeneratorPythia8Jets:
case kGeneratorPythia8Jets_Weighted:
case kGeneratorPythia8Jets_Monash2013:
gen = GeneratorPythia8Jets(kPythia8Tune_Monash2013);
case kGeneratorPythia8Jets_Monash2013_Weighted:
gen = GeneratorPythia8Jets(kPythia8Tune_Monash2013,weight);
break;

// Pythia8JetsGammaTrg (Monash2013)
case kGeneratorPythia8JetsGammaTrg:
case kGeneratorPythia8JetsGammaTrg_Weighted:
case kGeneratorPythia8JetsGammaTrg_Monash2013:
gen = GeneratorPythia8JetsGammaTrg(kPythia8Tune_Monash2013);
case kGeneratorPythia8JetsGammaTrg_Monash2013_Weighted:
gen = GeneratorPythia8JetsGammaTrg(kPythia8Tune_Monash2013,weight);
break;

// Pythia8GammaJet (Monash2013)
case kGeneratorPythia8GammaJet:
case kGeneratorPythia8GammaJet_Weighted:
case kGeneratorPythia8GammaJet_Monash2013:
gen = GeneratorPythia8GammaJet(kPythia8Tune_Monash2013);
case kGeneratorPythia8GammaJet_Monash2013_Weighted:
gen = GeneratorPythia8GammaJet(kPythia8Tune_Monash2013,weight);
break;

// Phojet / DPMjet
Expand Down Expand Up @@ -866,7 +889,7 @@ GeneratorPythia8(Int_t tune, Int_t pdgtrig, Float_t etatrig)
/*** PYTHIA 8 JETS ***********************************************/

AliGenerator *
GeneratorPythia8Jets(Int_t tune, Int_t acceptance)
GeneratorPythia8Jets(Int_t tune, Double_t weight, Int_t acceptance)
{
//
//
Expand All @@ -877,7 +900,7 @@ GeneratorPythia8Jets(Int_t tune, Int_t acceptance)
//
// jets settings
pythia->SetProcess(kPyJets);

// Careful using detector acceptance cuts and jet acceptance,
// let it open with kCalorimeterAcceptance_FullDetector
Float_t etaMax, phiMin, phiMax;
Expand All @@ -886,6 +909,7 @@ GeneratorPythia8Jets(Int_t tune, Int_t acceptance)
pythia->SetJetPhiRange(phiMin, phiMax);
pythia->SetJetEtRange(0., 1000.);
pythia->SetPtHard(pthardminConfig, pthardmaxConfig); // Pt transfer of the hard scattering
if (weight > -1) pythia->SetWeightPower(weight);
pythia->SetStrucFunc(kCTEQ5L);
// quenching
pythia->SetQuench(quenchingConfig);
Expand All @@ -907,7 +931,7 @@ GeneratorPythia8Jets(Int_t tune, Int_t acceptance)
/*** PYTHIA 8 JETS GAMMA-TRIGGERED ********************************/

AliGenerator *
GeneratorPythia8JetsGammaTrg(Int_t tune, Int_t acceptance)
GeneratorPythia8JetsGammaTrg(Int_t tune, Double_t weight, Int_t acceptance)
{
//
//
Expand All @@ -919,6 +943,7 @@ GeneratorPythia8JetsGammaTrg(Int_t tune, Int_t acceptance)
//
// Careful with pT hard limits if triggerParticleInCalo option is on
pythia->SetTriggerParticleMinPt(pttrigminConfig);
if (weight > -1) pythia->SetWeightPower(weight);
// acceptance
Float_t etaMax, phiMin, phiMax;
GetCalorimeterAcceptance(acceptance, etaMax, phiMin, phiMax);
Expand Down Expand Up @@ -949,7 +974,7 @@ GeneratorPythia8JetsGammaTrg(Int_t tune, Int_t acceptance)
/*** PYTHIA 8 GAMMA-JET ***********************************************/

AliGenerator *
GeneratorPythia8GammaJet(Int_t tune, Int_t acceptance)
GeneratorPythia8GammaJet(Int_t tune, Double_t weight, Int_t acceptance)
{
//
//
Expand All @@ -967,6 +992,7 @@ GeneratorPythia8GammaJet(Int_t tune, Int_t acceptance)
// reset jets settings
pythia->SetJetEtaRange(-20., 20.); // Final state kinematic cuts
pythia->SetJetPhiRange(0., 360.);
if (weight > -1) pythia->SetWeightPower(weight);
//
return pythia;
}
Expand Down