]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenParam.cxx
New class used for primary vertex finding (AliITSVertexerTracks)
[u/mrichter/AliRoot.git] / EVGEN / AliGenParam.cxx
index 1812b835bdee605a8e470cfce65fce48e6047d5b..4d644a3c8dab3a0ebb27feb78834a5a4a8f502fe 100644 (file)
 
 /*
 $Log$
+Revision 1.40  2002/10/14 14:55:35  hristov
+Merging the VirtualMC branch to the main development branch (HEAD)
+
+Revision 1.36.6.3  2002/10/10 16:40:08  hristov
+Updating VirtualMC to v3-09-02
+
+Revision 1.39  2002/09/16 08:21:16  morsch
+Use TDatabasePDG::Instance();
+
+Revision 1.38  2002/05/30 14:59:12  morsch
+Check geometrical acceptance. (G. Martinez)
+
+Revision 1.37  2002/04/17 10:20:44  morsch
+Coding Rule violations corrected.
+
 Revision 1.36  2002/02/08 16:50:50  morsch
 Add name and title in constructor.
 
@@ -126,6 +141,8 @@ Introduction of the Copyright and cvs Log
 #include <TLorentzVector.h>
 
 #include <TF1.h>
+#include <TCanvas.h>
+#include <TH1.h>
 
 ClassImp(AliGenParam)
 
@@ -334,8 +351,7 @@ void AliGenParam::Generate()
   //
   if(!particles) particles = new TClonesArray("TParticle",1000);
   
-  static TDatabasePDG *pDataBase = new TDatabasePDG();
-  if(!pDataBase) pDataBase = new TDatabasePDG();
+  TDatabasePDG *pDataBase = TDatabasePDG::Instance();
   //
   Float_t random[6];
  
@@ -420,6 +436,10 @@ void AliGenParam::Generate()
 //
 // select decay particles
              Int_t np=fDecayer->ImportParticles(particles);
+
+             //  Selecting  GeometryAcceptance for particles fPdgCodeParticleforAcceptanceCut;
+             if (fGeometryAcceptance) 
+               if (!CheckAcceptanceGeometry(np,particles)) continue;
              Int_t ncsel=0;
              Int_t* pFlag      = new Int_t[np];
              Int_t* pParent    = new Int_t[np];
@@ -520,6 +540,7 @@ void AliGenParam::Generate()
                          } else {
                              iparent = -1;
                          }
+                        
                          SetTrack(fTrackIt*trackIt[i], iparent, kf,
                                           pc, och, polar,
                                           0, kPDecay, nt, wgtch);
@@ -546,6 +567,21 @@ void AliGenParam::Generate()
   SetHighWaterMark(nt);
 }
 
+void AliGenParam::Draw()
+{
+    //
+    // Draw the pT and y Distributions
+    //
+     TCanvas *c0 = new TCanvas("c0","Canvas 0",400,10,600,700);
+     c0->Divide(2,1);
+     c0->cd(1);
+     fPtPara->Draw();
+     fPtPara->GetHistogram()->SetXTitle("p_{T} (GeV)");     
+     c0->cd(2);
+     fYPara->Draw();
+     fYPara->GetHistogram()->SetXTitle("y");     
+}
+
 AliGenParam& AliGenParam::operator=(const  AliGenParam& rhs)
 {
 // Assignment operator