]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/Simulation.C
SDD cone implemented and activated in geometry v11Hybrid. Volume IS02 removed (M...
[u/mrichter/AliRoot.git] / PHOS / Simulation.C
index b18d48e8e2448836977f8751465364a5726adfd0..6ec53beda93dff85778b455fecfa5380151b33fe 100644 (file)
 //_________________________________________________________________________
 #include "AliSimulation.h"
 #include "TString.h"
-#include "AliPHOSGetter.h"
-#include "AliEMCALGetter.h"
 #include "Riostream.h"
+#include "TStopwatch.h"
 
-void simu(Int_t nevents=1, TString opt="GSD", TString name="all") 
+void simu(Int_t nevents=1, TString opt="GSD", TString name="all", TString cdb=""
 {
   AliSimulation sim ; 
   // Generation and simulation
@@ -41,8 +40,13 @@ void simu(Int_t nevents=1, TString opt="GSD", TString name="all")
   // Making SDigits 
   if ( !opt.Contains("S") )
     sim.SetMakeSDigits("") ; 
-  else 
-    sim.SetMakeSDigits(name.Data()) ;
+  else {
+   sim.SetMakeSDigits(name.Data()) ;
+    if (name.Contains("ITS") || name.Contains("all"))
+     sim.SetMakeDigitsFromHits("ITS ") ; 
+    if (name.Contains("TPC") || name.Contains("all"))
+     sim.SetMakeDigitsFromHits("TPC") ;
+  }  
   // Making Digits 
   if ( !opt.Contains("D") )
     sim.SetMakeDigits("") ; 
@@ -50,33 +54,18 @@ void simu(Int_t nevents=1, TString opt="GSD", TString name="all")
     sim.SetMakeDigits(name.Data()) ;    
   //Merging
   if ( opt.Contains("M") )
-    sim.MergeWith("./bgrd/galice.root", 1) ;  
-  // to implement 
-  sim.Run(nevents) ;  
+    sim.MergeWith("bgrd/galice.root") ;  
+  //Region of Interest
+  sim.SetRegionOfInterest(kFALSE) ; 
+  if ( opt.Contains("W") )
+     sim.SetWriteRawData(name.Data(),"raw.root",kTRUE) ;
+  if ( !cdb.IsNull() ) 
+     sim.SetDefaultStorage(cdb.Data()) ; 
+
+  TStopwatch timer;
+  timer.Start();
+  sim.Run(nevents) ;    
+  timer.Stop();
+  timer.Print();
 
-  if ( !opt.Contains("M") ) {
-    // Checking result
-    if ( name.Contains("PHOS") ) {
-      cout << ">>>>>>>>>>>> PHOS " << endl ; 
-      AliPHOSGetter * gime = AliPHOSGetter::Instance("galice.root") ;
-      Int_t event ; 
-      for (event = 0; event < gime->MaxEvent(); event++) {
-       cout << "event # " << event << endl ; 
-       gime->Event(event, "SD") ; 
-       cout << "  SDigits # " << gime->SDigits()->GetEntries() << endl ; 
-       cout << "   Digits # " << gime->Digits()->GetEntries() << endl ; 
-      }
-    }
-    if ( name.Contains("EMCAL") ) {
-      cout << ">>>>>>>>>>>> EMCAL " << endl ; 
-      AliEMCALGetter * gime = AliEMCALGetter::Instance("galice.root"); 
-      Int_t event ; 
-      for (event = 0; event < gime->MaxEvent(); event++) {
-       cout << "event # " << event << endl ; 
-       gime->Event(event, "SD") ; 
-       cout << "  SDigits # " << gime->SDigits()->GetEntries() << endl ; 
-       cout << "   Digits # " << gime->Digits()->GetEntries() << endl ; 
-      }
-    }
-  }
 }