Skip to content

Commit fe228d8

Browse files
preghenellasawenzel
authored andcommitted
Generator protocol to updateHeader and notifyEmbedding needs to use o2::dataformat::MCEventHeader
1 parent 6715af5 commit fe228d8

File tree

8 files changed

+24
-11
lines changed

8 files changed

+24
-11
lines changed

Generators/include/Generators/Generator.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@
1818
#include "Generators/Trigger.h"
1919
#include <vector>
2020

21-
class FairMCEventHeader;
21+
namespace o2
22+
{
23+
namespace dataformats
24+
{
25+
class MCEventHeader;
26+
}
27+
} // namespace o2
2228

2329
namespace o2
2430
{
@@ -82,7 +88,7 @@ class Generator : public FairGenerator
8288
void clearParticles() { mParticles.clear(); };
8389

8490
/** notification methods **/
85-
virtual void notifyEmbedding(const FairMCEventHeader* mcHeader){};
91+
virtual void notifyEmbedding(const o2::dataformats::MCEventHeader* eventHeader){};
8692

8793
protected:
8894
/** copy constructor **/
@@ -91,7 +97,7 @@ class Generator : public FairGenerator
9197
Generator& operator=(const Generator&);
9298

9399
/** methods that can be overridded **/
94-
virtual void updateHeader(FairMCEventHeader* eventHeader){};
100+
virtual void updateHeader(o2::dataformats::MCEventHeader* eventHeader){};
95101

96102
/** internal methods **/
97103
Bool_t addTracks(FairPrimaryGenerator* primGen);

Generators/include/Generators/GeneratorPythia8.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class GeneratorPythia8 : public Generator
8484
GeneratorPythia8& operator=(const GeneratorPythia8&);
8585

8686
/** methods that can be overridded **/
87-
void updateHeader(FairMCEventHeader* eventHeader) override;
87+
void updateHeader(o2::dataformats::MCEventHeader* eventHeader) override;
8888

8989
/** internal methods **/
9090
Bool_t importParticles(Pythia8::Event& event);

Generators/src/Generator.cxx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "Generators/Generator.h"
1414
#include "Generators/Trigger.h"
1515
#include "Generators/PrimaryGenerator.h"
16+
#include "SimulationDataFormat/MCEventHeader.h"
1617
#include "FairPrimaryGenerator.h"
1718
#include "FairLogger.h"
1819
#include <cmath>
@@ -89,7 +90,13 @@ Bool_t
8990
}
9091

9192
/** update header **/
92-
updateHeader(primGen->GetEvent());
93+
auto header = primGen->GetEvent();
94+
auto o2header = dynamic_cast<o2::dataformats::MCEventHeader*>(header);
95+
if (!header) {
96+
LOG(FATAL) << "MC event header is not a 'o2::dataformats::MCEventHeader' object";
97+
return kFALSE;
98+
}
99+
updateHeader(o2header);
93100

94101
/** success **/
95102
return kTRUE;

Generators/src/GeneratorPythia8.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include "CommonUtils/ConfigurationMacroHelper.h"
1616
#include "FairLogger.h"
1717
#include "TParticle.h"
18-
#include "FairMCEventHeader.h"
18+
#include "SimulationDataFormat/MCEventHeader.h"
1919
#include "Pythia8/HIUserHooks.h"
2020
#include "TSystem.h"
2121

@@ -192,7 +192,7 @@ Bool_t
192192

193193
/*****************************************************************/
194194

195-
void GeneratorPythia8::updateHeader(FairMCEventHeader* eventHeader)
195+
void GeneratorPythia8::updateHeader(o2::dataformats::MCEventHeader* eventHeader)
196196
{
197197
/** update header **/
198198

run/SimExamples/Adaptive_Pythia8/adaptive_pythia8.macro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public:
1616

1717
// update the number of events to be generated
1818
// according to background primaries and formula
19-
void notifyEmbedding(const FairMCEventHeader *bkgHeader) override {
19+
void notifyEmbedding(const o2::dataformats::MCEventHeader *bkgHeader) override {
2020
auto nPrimaries = bkgHeader->GetNPrim();
2121
mEvents = mFormula.Eval(nPrimaries);
2222
};

run/SimExamples/AliRoot_AMPT/aliroot_ampt.macro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public:
7676
return o2::eventgen::GeneratorTGenerator::generateEvent();
7777
}
7878

79-
void updateHeader(FairMCEventHeader* eventHeader) {
79+
void updateHeader(o2::dataformats::MCEventHeader* eventHeader) {
8080
auto theAMPT = (TAmpt *)mGenAMPT->GetMC();
8181
auto impactB = theAMPT->GetHINT1(19);
8282
auto evPlane = theAMPT->GetReactionPlaneAngle();

run/SimExamples/HF_Embedding_Pythia8/GeneratorHF.macro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public:
2828
// for each event in case we are in embedding mode.
2929
// We use it to setup the number of signal events
3030
// to be generated and to be embedded on the background.
31-
void notifyEmbedding(const FairMCEventHeader *bkgHeader) override {
31+
void notifyEmbedding(const o2::dataformats::MCEventHeader *bkgHeader) override {
3232
mEvents = mFormula.Eval(bkgHeader->GetB());
3333
std::cout << " --- notify embedding: impact parameter is " << bkgHeader->GetB() << ", generating " << mEvents << " signal events " << std::endl;
3434
};

run/SimExamples/Signal_ImpactB/signal_impactb.macro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public:
2828

2929
// update the number of particles to be generated
3030
// according to impact parameter and formula
31-
void notifyEmbedding(const FairMCEventHeader *bkgHeader) override {
31+
void notifyEmbedding(const o2::dataformats::MCEventHeader *bkgHeader) override {
3232
auto b = bkgHeader->GetB();
3333
mNSignals = mFormula.Eval(b);
3434
std::cout << " --- notify embedding: b = " << b << ", nparticles = " << mNSignals << std::endl;

0 commit comments

Comments
 (0)