}
//
-// Pass header to RunLoader
+// Pass header
//
- AliRunLoader::GetRunLoader()->GetHeader()->SetGenEventHeader(fHeader);
+ AddHeader(fHeader);
}
-
+
+void AliGenPythia::AddHeader(AliGenEventHeader* header)
+{
+ // Add header to container or runloader
+ if (fContainer) {
+ fContainer->AddHeader(header);
+ } else {
+ AliRunLoader::GetRunLoader()->GetHeader()->SetGenEventHeader(header);
+ }
+}
+
Bool_t AliGenPythia::CheckTrigger(TParticle* jet1, TParticle* jet2)
{
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+
/* $Id$ */
//
class AliPythia;
class TParticle;
class AliGenPythiaEventHeader;
+class AliGenEventHeader;
class AliStack;
class AliRunLoader;
virtual void SetQuench(Int_t flag = 0) {fQuench = flag;}
virtual void SetHadronisation(Int_t flag = 1) {fHadronisation = flag;}
virtual void SetReadFromFile(const Text_t *filname) {fFileName = filname; fReadFromFile = 1;}
-
// Get interaction rate for pileup studies
virtual void SetInteractionRate(Float_t rate,Float_t timewindow = 90.e-6);
virtual Float_t GetInteractionRate() const {return fInteractionRate;}
-
// get cross section of process
virtual Float_t GetXsection() const {return fXsection;}
// get triggered jets
// Assignment Operator
AliGenPythia & operator=(const AliGenPythia & rhs);
-
void GetSubEventTime();
-
+ void AddHeader(AliGenEventHeader* header);
+
protected:
// adjust the weight from kinematic cuts
void AdjustWeights();
Int_t GenerateMB();
void MakeHeader();
void GeneratePileup();
-
Process_t fProcess; //Process type
StrucFunc_t fStrucFunc; //Structure Function
Float_t fEnergyCMS; //Centre of mass energy
TParticle * iparticle = (TParticle *) fParticles->At(i);
Bool_t hasMother = (iparticle->GetFirstMother() >=0);
Bool_t hasDaughter = (iparticle->GetFirstDaughter() >=0);
-
if (pSelected[i]) {
kf = iparticle->GetPdgCode();
ks = iparticle->GetStatusCode();
Bool_t tFlag = (fTrackIt && !hasDaughter);
PushTrack(tFlag,imo,kf,p,origin,polar,
tof,kPNoProcess,nt, 1., ks);
+
+
KeepTrack(nt);
newPos[i] = nt;
} // if selected
((AliGenHijingEventHeader*) header)->SetTrials(fTrials);
// Event Vertex
header->SetPrimaryVertex(fVertex);
- if (gAlice) gAlice->SetGenEventHeader(header);
+ AddHeader(header);
fCollisionGeometry = (AliGenHijingEventHeader*) header;
}
+void AliGenHijing::AddHeader(AliGenEventHeader* header)
+{
+ // Passes header either to the container or to gAlice
+ if (fContainer) {
+ fContainer->AddHeader(header);
+ } else {
+ gAlice->SetGenEventHeader(header);
+ }
+}
+
+
Bool_t AliGenHijing::CheckTrigger()
{
// Check the kinematic trigger condition
{fPhiMinJet = TMath::Pi()*phimin/180.; fPhiMaxJet = TMath::Pi()*phimax/180.;}
virtual void SetBoostLHC(Int_t flag = 0) {fLHC = flag;}
virtual void SetRandomPz(Bool_t flag = 0) {fRandomPz = flag;}
+ virtual void AddHeader(AliGenEventHeader* header);
virtual void SwitchOffHeavyQuarks(Bool_t flag = kTRUE) {fNoHeavyQuarks = flag;}