ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
/* $Id$ */
//_________________________________________________________________________
// Macros performing the full simulation chain 
// Use Case : 
//          root> .L Simulation.C++
//          root> sim(2, "GSD", "PHOS EMCAL") --> generates 2 events (Config.C)
//                                                and produces Digits and SDigits  
//                                                for PHOS and EMCAL 
//          root> sim(2, "GSDM", "PHOS EMCAL") --> same as before but before making Digits
//                                                 the 2 signal events are merged with one 
//                                                 background event in ./bgrd/galice.root
// author  : Yves Schutz (CERN/SUBATECH)
// February 2004
//_________________________________________________________________________
#include "AliSimulation.h"
#include "TString.h"
#include "Riostream.h"
#include "TStopwatch.h"

void simu(Int_t nevents=1, TString opt="GSD", TString name="all", TString cdb="") 
{
  AliSimulation sim ; 
  // Generation and simulation
  if ( !opt.Contains("G") )
    sim.SetRunGeneration(kFALSE) ;
  // Making SDigits 
  if ( !opt.Contains("S") )
    sim.SetMakeSDigits("") ; 
  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("") ; 
  else 
    sim.SetMakeDigits(name.Data()) ;    
  //Merging
  if ( opt.Contains("M") )
    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();

}
 Simulation.C:1
 Simulation.C:2
 Simulation.C:3
 Simulation.C:4
 Simulation.C:5
 Simulation.C:6
 Simulation.C:7
 Simulation.C:8
 Simulation.C:9
 Simulation.C:10
 Simulation.C:11
 Simulation.C:12
 Simulation.C:13
 Simulation.C:14
 Simulation.C:15
 Simulation.C:16
 Simulation.C:17
 Simulation.C:18
 Simulation.C:19
 Simulation.C:20
 Simulation.C:21
 Simulation.C:22
 Simulation.C:23
 Simulation.C:24
 Simulation.C:25
 Simulation.C:26
 Simulation.C:27
 Simulation.C:28
 Simulation.C:29
 Simulation.C:30
 Simulation.C:31
 Simulation.C:32
 Simulation.C:33
 Simulation.C:34
 Simulation.C:35
 Simulation.C:36
 Simulation.C:37
 Simulation.C:38
 Simulation.C:39
 Simulation.C:40
 Simulation.C:41
 Simulation.C:42
 Simulation.C:43
 Simulation.C:44
 Simulation.C:45
 Simulation.C:46
 Simulation.C:47
 Simulation.C:48
 Simulation.C:49
 Simulation.C:50
 Simulation.C:51
 Simulation.C:52
 Simulation.C:53
 Simulation.C:54
 Simulation.C:55
 Simulation.C:56
 Simulation.C:57
 Simulation.C:58
 Simulation.C:59
 Simulation.C:60
 Simulation.C:61
 Simulation.C:62
 Simulation.C:63
 Simulation.C:64
 Simulation.C:65
 Simulation.C:66
 Simulation.C:67
 Simulation.C:68
 Simulation.C:69
 Simulation.C:70
 Simulation.C:71
 Simulation.C:72