1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
19 /// \file runSimulation.C
20 /// \brief Macro for running simulation
22 /// Macro extracted from the MUON test script
24 /// \author Laurent Aphecetche
26 #if !defined(__CINT__) || defined(__MAKECINT__)
27 #include "AliCDBManager.h"
28 #include "AliSimulation.h"
32 void runSimulation(int seed,
35 const char* embedwith)
37 // Uncoment following lines to run simulation with local residual mis-alignment
38 // (generated via MUONGenerateGeometryData.C macro)
39 // AliCDBManager* man = AliCDBManager::Instance();
40 // man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
41 // man->SetSpecificStorage("MUON/Align/Data","local://$ALICE_ROOT/OCDB/MUON/ResMisAlignCDB");
43 AliSimulation MuonSim(config);
45 if ( strlen(embedwith) > 0 )
47 // setups specific to embedding
49 gAlice->SetConfigFunction("Config(\"\", \"param\", \"AliMUONDigitStoreV2S\",kTRUE);");
51 // get the run number from real data
53 AliRunLoader* runLoader = AliRunLoader::Open(embedwith,"titi");
56 AliError(Form("Cannot open file %s",filename));
60 runLoader->LoadHeader();
62 if ( ! runLoader->GetHeader() ) {
63 AliError("Cannot load header.");
67 Int_t runNumber = runLoader->GetHeader()->GetRun();
68 MuonSim.SetRunNumber(runNumber);
69 cout << Form("***** RUN NUMBER SET TO %09d ACCORDING TO %s ",runNumber,embedwith) << endl;
71 runLoader->UnloadHeader();
74 cout << "***** EMBEDDING MODE : USING RAW OCDB" << endl;
75 AliCDBManager::Instance()->SetDefaultStorage("raw://");
76 AliCDBManager::Instance()->SetSpecificStorage("local://$ALICE_ROOT/OCDB","MUON/Calib/Gains");
77 AliCDBManager::Instance()->SetSpecificStorage("local://$ALICE_ROOT/OCDB","MUON/Align/Data");
82 gAlice->SetConfigFunction("Config(\"\", \"param\", \"AliMUONDigitStoreV2S\",kFALSE);");
85 MuonSim.SetSeed(seed);
86 MuonSim.SetTriggerConfig("MUON");
87 MuonSim.SetWriteRawData("MUON HLT","raw.root",kTRUE);
89 MuonSim.SetMakeDigits("MUON");
90 MuonSim.SetMakeSDigits("MUON");
91 MuonSim.SetMakeDigitsFromHits("");
93 MuonSim.SetRunHLT("libAliHLTMUON.so chains=dHLT-sim");
95 MuonSim.SetRunQA("MUON:ALL");
97 if ( strlen(embedwith) > 0 )
99 MuonSim.MergeWith(embedwith);
102 MuonSim.Run(nevents);
103 //gObjectTable->Print();