Skip to content
Merged
Show file tree
Hide file tree
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### jet-jet production with MB Gap 5
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName = ${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/external/generator/generator_pythia8_gaptrigger_jets_hook.C
funcName = getGeneratorPythia8GapGenJE(5,"${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/pythia8/generator/pythia8_minbias_pp5360GeV.cfg","${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/pythia8/generator/pythia8_jet_pp5360GeV.cfg")
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
int External() {
std::string path{"o2sim_Kine.root"};

float ratioTrigger = 1./5; // one event triggered out of 5


TFile file(path.c_str(), "READ");
if (file.IsZombie()) {
std::cerr << "Cannot open ROOT file " << path << "\n";
return 1;
}

auto tree = (TTree *)file.Get("o2sim");
std::vector<o2::MCTrack> *tracks{};
tree->SetBranchAddress("MCTrack", &tracks);
o2::dataformats::MCEventHeader *eventHeader = nullptr;
tree->SetBranchAddress("MCEventHeader.", &eventHeader);

int nEventsMB{}, nEventsJetJet{};
float sumWeightsMB{}, sumWeightsJetJet{};
int sumTracks{};
auto nEvents = tree->GetEntries();

for (int i = 0; i < nEvents; i++) {
tree->GetEntry(i);

// check subgenerator information and event weights
if (eventHeader->hasInfo(o2::mcgenid::GeneratorProperty::SUBGENERATORID)) {
bool isValid = false;
int subGeneratorId = eventHeader->getInfo<int>(o2::mcgenid::GeneratorProperty::SUBGENERATORID, isValid);
if (eventHeader->hasInfo(o2::dataformats::MCInfoKeys::weight)) {
float weight = eventHeader->getInfo<float>(o2::dataformats::MCInfoKeys::weight,isValid);
if (subGeneratorId == 0) {
nEventsMB++;
sumWeightsMB += weight;
}
else if (subGeneratorId == 1) {
nEventsJetJet++;
sumWeightsJetJet += weight;
}
}
}
sumTracks += tracks->size();
}

std::cout << "--------------------------------\n";
std::cout << "# Events: " << nEvents << "\n";
std::cout << "# MB events: " << nEventsMB << "\n";
std::cout << " sum of weights for MB events: " << sumWeightsMB << "\n";
std::cout << "# Jet-jet events " << nEventsJetJet << "\n";
std::cout << " sum of weights jet-jet events: " << sumWeightsJetJet << "\n";
std::cout << "# tracks summed over all events (jet-jet + MB): " << sumTracks << "\n";

if (nEventsMB < nEvents * (1 - ratioTrigger) * 0.95 || nEventsMB > nEvents * (1 - ratioTrigger) * 1.05) { // we put some tolerance since the number of generated events is small
std::cerr << "Number of generated MB events different than expected\n";
return 1;
}
if (nEventsJetJet < nEvents * ratioTrigger * 0.95 || nEventsJetJet > nEvents * ratioTrigger * 1.05) {
std::cerr << "Number of jet-jet generated events different than expected\n";
return 1;
}
if(nEventsMB < sumWeightsMB * 0.95 || nEventsMB > sumWeightsMB * 1.05) {
std::cerr << "Weights of MB events do not = 1 as expected\n";
return 1;
}
if(sumTracks < 1) {
std::cerr << "No tracks in simulated events\n";
return 1;
}
return 0;
}
25 changes: 25 additions & 0 deletions MC/config/PWGGAJE/pythia8/generator/pythia8_jet_pp5360GeV.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

# ### random
# # if we want to input a spectific seed:

# Random:setSeed = on
# Random:seed = seed

### beams
Beams:idA = 2212 # proton
Beams:idB = 2212 # proton
Beams:eCM = 5360. # GeV

### processes
SoftQCD:inelastic = off
HardQCD:all = on

### decays
ParticleDecays:limitTau0 = on
ParticleDecays:tau0Max = 10.

### phase space cuts
PhaseSpace:pTHatMin = 5
PhaseSpace:pTHatMax = 600
PhaseSpace:bias2Selection = on
PhaseSpace:bias2SelectionPow = 4
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

# ### random
# # if we want to input a spectific seed:

# Random:setSeed = on
# Random:seed = seed

### beams
Beams:idA = 2212 # proton
Beams:idB = 2212 # proton
Beams:eCM = 5360. # GeV

### processes
SoftQCD:inelastic = on

### decays
ParticleDecays:limitTau0 = on
ParticleDecays:tau0Max = 10.
Loading