]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenMUONCocktail.cxx
Overlaps corrected, new shape of sectors
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONCocktail.cxx
index fc510e3a494fcad382c2c297d39d3ab7e6974ead..6a7e44b15dbf91a2945aee1d18bef6ebc21c01ec 100644 (file)
@@ -82,7 +82,7 @@ void AliGenMUONCocktail::Init()
   Double_t sigmaReaction =   0.072;   // MinBias NN cross section for PbPb LHC energies  http://arxiv.org/pdf/nucl-ex/0302016
 
   // Initialising Fast Glauber object
-  fFastGlauber = new AliFastGlauber();
+  fFastGlauber = AliFastGlauber::Instance();
   fFastGlauber->SetPbPbLHC();
   fFastGlauber->SetNNCrossSection(sigmaReaction*1000.); //Expected NN cross-section in mb at LHC with diffractive part http://arxiv.org/pdf/nucl-ex/0302016 )
   fFastGlauber->Init(1);
@@ -363,9 +363,8 @@ void AliGenMUONCocktail::Generate()
 // Generate event 
     TIter next(fEntries);
     AliGenCocktailEntry *entry = 0;
-    AliGenCocktailEntry *preventry = 0;
     AliGenerator* gen = 0;
-    TObjArray *partArray = gAlice->GetMCApp()->Particles();
+    const TObjArray *partArray = gAlice->GetMCApp()->Particles();
 
 //  Generate the vertex position used by all generators    
     if(fVertexSmear == kPerEvent) Vertex();
@@ -374,7 +373,7 @@ void AliGenMUONCocktail::Generate()
     Bool_t primordialTrigger = kFALSE;
     while(!primordialTrigger) {
                //Reseting stack
-               AliRunLoader * runloader = gAlice->GetRunLoader();
+               AliRunLoader * runloader = AliRunLoader::Instance();
                if (runloader)
                        if (runloader->Stack())
                                runloader->Stack()->Clean();
@@ -384,6 +383,7 @@ void AliGenMUONCocktail::Generate()
                while((entry = (AliGenCocktailEntry*)next())) {
                        gen = entry->Generator();
                        gen->SetVertex(fVertex.At(0), fVertex.At(1), fVertex.At(2));
+                       gen->SetTime(fTime);
                        if ( (npart = gRandom->Poisson(entry->Rate())) >0 ) {
                                igen++; 
                                if (igen == 1) entry->SetFirst(0);
@@ -394,7 +394,6 @@ void AliGenMUONCocktail::Generate()
                                gen->SetNumberParticles(npart);
                                gen->Generate();
                                entry->SetLast(partArray->GetEntriesFast());
-                               preventry = entry;
                          // }
                        }
                }  
@@ -413,7 +412,7 @@ void AliGenMUONCocktail::Generate()
                        (gAlice->GetMCApp()->Particle(iPart)->Theta()*180./TMath::Pi()>fMuonThetaMinCut) &&
                        (gAlice->GetMCApp()->Particle(iPart)->Theta()*180./TMath::Pi()<fMuonThetaMaxCut) &&
                        (gAlice->GetMCApp()->Particle(iPart)->Pt()>fMuonPtCut)                             ) { 
-                                       gAlice->GetMCApp()->Particle(iPart)->SetProductionVertex(fVertex.At(0), fVertex.At(1), fVertex.At(2), 0.);   
+                                       gAlice->GetMCApp()->Particle(iPart)->SetProductionVertex(fVertex.At(0), fVertex.At(1), fVertex.At(2), fTime);   
                                        GoodMuons.AddLast(gAlice->GetMCApp()->Particle(iPart));
                                        numberOfMuons++;
                        }