#include "AliGenHijing.h"
#include "AliGenHijingEventHeader.h"
-#include "AliRun.h"
#include "AliHijingRndm.h"
+#include "AliLog.h"
+#include "AliRun.h"
ClassImp(AliGenHijing)
fEvaluate(0),
fSelectAll(0),
fFlavor(0),
- fEnergyCMS(5500.),
fKineBias(0.),
fTrials(0),
fXsection(0.),
fRandomPz(kFALSE),
fNoHeavyQuarks(kFALSE)
{
-// Constructor
- fParticles = 0;
- AliHijingRndm::SetHijingRandom(GetRandom());
+ // Constructor
+ fEnergyCMS = 5500.;
+ AliHijingRndm::SetHijingRandom(GetRandom());
}
AliGenHijing::AliGenHijing(Int_t npart)
fEvaluate(0),
fSelectAll(0),
fFlavor(0),
- fEnergyCMS(5500.),
fKineBias(0.),
fTrials(0),
fXsection(0.),
{
// Default PbPb collisions at 5. 5 TeV
//
+ fEnergyCMS = 5500.;
fName = "Hijing";
fTitle= "Particle Generator using HIJING";
//
- fParticles = new TClonesArray("TParticle",10000);
//
// Set random number generator
AliHijingRndm::SetHijingRandom(GetRandom());
// Destructor
if ( fDsigmaDb) delete fDsigmaDb;
if ( fDnDb) delete fDnDb;
- delete fParticles;
}
void AliGenHijing::Init()
fHijing->GenerateEvent();
fTrials++;
fNprimaries = 0;
- fHijing->ImportParticles(fParticles,"All");
+ fHijing->ImportParticles(&fParticles,"All");
if (fTrigger != kNoTrigger) {
if (!CheckTrigger()) continue;
}
if (fLHC) Boost();
- Int_t np = fParticles->GetEntriesFast();
- printf("\n **************************************************%d\n",np);
+ Int_t np = fParticles.GetEntriesFast();
Int_t nc = 0;
if (np == 0 ) continue;
Int_t i;
// Get event vertex
//
- TParticle * iparticle = (TParticle *) fParticles->At(0);
+ TParticle * iparticle = (TParticle *) fParticles.At(0);
fVertex[0] = origin0[0];
fVertex[1] = origin0[1];
fVertex[2] = origin0[2];
//
for (i = 0; i < np; i++) {
- iparticle = (TParticle *) fParticles->At(i);
+ iparticle = (TParticle *) fParticles.At(i);
// Is this a parent particle ?
if (Stable(iparticle)) continue;
//
for (i = 0; i<np; i++) {
- TParticle * iparticle = (TParticle *) fParticles->At(i);
+ iparticle = (TParticle *) fParticles.At(i);
// Is this a final state particle ?
if (!Stable(iparticle)) continue;
// Write particles to stack
for (i = 0; i<np; i++) {
- TParticle * iparticle = (TParticle *) fParticles->At(i);
+ iparticle = (TParticle *) fParticles.At(i);
Bool_t hasMother = (iparticle->GetFirstMother() >=0);
Bool_t hasDaughter = (iparticle->GetFirstDaughter() >=0);
if (pSelected[i]) {
origin[0] = origin0[0]+iparticle->Vx()/10;
origin[1] = origin0[1]+iparticle->Vy()/10;
origin[2] = origin0[2]+iparticle->Vz()/10;
- tof = kconv * iparticle->T() + sign * origin0[2] / 3.e10;
+// tof = kconv * iparticle->T() + sign * origin0[2] / 3.e10;
+ tof = kconv * iparticle->T();
if (fPileUpTimeWindow > 0.) tof += tInt;
imo = -1;
TParticle* mother = 0;
if (hasMother) {
imo = iparticle->GetFirstMother();
- mother = (TParticle *) fParticles->At(imo);
+ mother = (TParticle *) fParticles.At(imo);
imo = (mother->GetPdgCode() != 92) ? newPos[imo] : -1;
} // if has mother
Bool_t tFlag = (fTrackIt && !hasDaughter);
delete[] newPos;
delete[] pSelected;
- printf("\n I've put %i particles on the stack \n",nc);
+ AliInfo(Form("\n I've put %i particles on the stack \n",nc));
if (nc > 0) {
jev += nc;
if (jev >= fNpart || fNpart == -1) {
fKineBias = Float_t(fNpart)/Float_t(fTrials);
- printf("\n Trials: %i %i %i\n",fTrials, fNpart, jev);
+ AliInfo(Form("\n Trials: %i %i %i\n",fTrials, fNpart, jev));
break;
}
}
imin = iparticle->GetFirstDaughter();
imax = iparticle->GetLastDaughter();
for (i = imin; i <= imax; i++){
- TParticle * jparticle = (TParticle *) fParticles->At(i);
+ TParticle * jparticle = (TParticle *) fParticles.At(i);
Int_t ip = jparticle->GetPdgCode();
if (KinematicSelection(jparticle,0)&&SelectFlavor(ip)) {
selected=kTRUE; break;
} else if (fTrigger == 2) {
// Gamma Jet
//
- Int_t np = fParticles->GetEntriesFast();
+ Int_t np = fParticles.GetEntriesFast();
for (Int_t i = 0; i < np; i++) {
- TParticle* part = (TParticle*) fParticles->At(i);
+ TParticle* part = (TParticle*) fParticles.At(i);
Int_t kf = part->GetPdgCode();
Int_t ksp = part->GetUniqueID();
if (kf == 22 && ksp == 40) {