def cleanFiles(self):
os.system("rm simulations/single/ -rf")
os.system("rm simulations/pi0/ -rf")
-
+
+ def editConfigFiles(self, dophos, doemcal, dotm):
+
+ if dophos == True:
+ command = "sed -i \'s/Int_t iPHOS = 0/Int_t iPHOS = 1/g\' simulations/single/Config.C"
+ os.system(command)
+ if doemcal == True:
+ command = "sed -i \'s/Int_t iEMCAL = 0/Int_t iEMCAL = 1/g\' simulations/single/Config.C"
+ os.system(command)
+
+ if dotm == True:
+ command = "sed -i \'s/Int_t iTPC = 0/Int_t iTPC = 1/g\' simulations/single/Config.C"
+ os.system(command)
+
def initSimulation(self):
self.cleanFiles()
self.mkDirStructure()
self.copyFiles()
def runSimulation(self, nevents, dophos, doemcal, dotm):
+ self.editConfigFiles(dophos, doemcal, dotm)
simargs = str(nevents) + ", " + str(int(dophos)) + ", " + str(int(doemcal)) + ", " + str(int(dotm))
command = "cd simulations/single/ && aliroot -b -q sim.C\'(" + simargs + ")\'"
os.system(command)
tester.run(options.runphos, options.runemcal, options.runtm)
exit(0)
-
\ No newline at end of file
+
void sim(Int_t nev=1, bool dophos = true, bool doemcal = true, bool dotm = true) {
+ if(!dophos && !doemcal && !dotm)
+ {
+ cout << "No detectors selected for simulation, exiting..." << endl;
+ return;
+ }
+
AliSimulation simulator;
- TString sdigits;
- if(dophos) sdigits += " PHOS";
- if(doemcal) sdigits += " EMCAL";
- simulator.SetMakeSDigits(sdigits);
-
- if(dotm) simulator.SetMakeDigitsFromHits("TPC");
- // simulator.SetWriteRawData("ALL","raw.root",kTRUE);
+ simulator.SetMakeDigitsFromHits(":");
+ simulator.SetMakeSDigits(":");
+
+ TString sdigits = "";
+ TString rawdata = "";
+ if(dophos)
+ {
+ sdigits += "PHOS";
+ rawdata += "PHOS";
+ }
+ if(doemcal)
+ {
+ if(sdigits != "")
+ {
+ sdigits += " ";
+ rawdata += " ";
+ }
+ sdigits += "EMCAL";
+ rawdata += "EMCAL";
+ }
+ if(dotm)
+ {
+ if(rawdata != "")
+ {
+ rawdata += " ";
+ }
+
+ simulator.SetMakeDigitsFromHits("TPC");
+ rawdata += "TPC";
+ }
+
+ if(sdigits != "")
+ {
+ cout << "SetMakeSDigits("<< sdigits << ")" << endl;
+ simulator.SetMakeSDigits(sdigits);
+ }
- simulator.SetWriteRawData("ALL");
+ cout << "sdigits: " << sdigits <<endl;
+ cout << "rawdata: " << rawdata <<endl;
+ simulator.SetWriteRawData(rawdata);
+ //simulator.SetWriteRawData("ALL");
simulator.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
simulator.SetSpecificStorage("GRP/GRP/Data",
Form("local://%s",gSystem->pwd()));