FairRoot/PandaRoot
macro/outdated/tracking/sttmvdtracking/runsim.C
Go to the documentation of this file.
1 // Macro to generate 10 events with MVD and STT (120 cm long straws) geometry in pandaroot
2 // Updated 6.12.2010
3 // Gianluigi Boca
4 {
5  TStopwatch timer;
6  timer.Start();
7  gDebug=0;
8  int verboseLevel = 0;
9  Int_t nEvents = 10;
10 
11  //FileNames
12  TString simOutput="MvdStt_Test.root";
13  TString parOutput="MvdStt_Params.root";
14 
15  // Load basic libraries
16  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
17  FairRunSim *fRun = new FairRunSim();
18 
19  // set the MC version used
20  // ------------------------
21 
22  fRun->SetName("TGeant3");
23  // Choose the Geant Navigation System
24 
25  fRun->SetOutputFile(simOutput);
26 
27  // Set Material file Name
28  //-----------------------
29  fRun->SetMaterials("media_pnd.geo");
30 
31  // Create and add detectors
32  //-------------------------
33 
34  FairModule *Cave= new PndCave("CAVE");
35  Cave->SetGeometryFileName("pndcave.geo");
36  fRun->AddModule(Cave);
37 
38  FairModule *Magnet= new PndMagnet("MAGNET");
39  Magnet->SetGeometryFileName("magnet.geo");
40  fRun->AddModule(Magnet);
41 
42  FairModule *Pipe= new PndPipe("PIPE");
43  fRun->AddModule(Pipe);
44 
45  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
46  Mvd->SetGeometryFileName("Mvd-2.1_FullVersion.root"); // only sensors, update follows
47  Mvd->SetVerboseLevel(verboseLevel);
48  fRun->AddModule(Mvd);
49 
50  FairDetector *Stt= new PndStt("STT", kTRUE);
51  Stt->SetGeometryFileName("straws_skewed_blocks_pipe_120cm.geo");
52  fRun->AddModule(Stt);
53 
54 
55  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
56  fRun->SetGenerator(primGen);
57 
58 
59  // Ion Generator
60  // FairIonGenerator *fIongen= new FairIonGenerator(79, 197,79,1, 0.,0., 25, 0.,0.,-1.);
61  // primGen->AddGenerator(fIongen);
62 
63  // Box Generator
64  FairBoxGenerator *fBox = new FairBoxGenerator(13, 10); //10 muon events
65  //Pions
66 // FairBoxGenerator *fBox = new FairBoxGenerator(211, 10); // positive pions.
67  fBox->SetPRange(1.0,1.0);
68  fBox->SetThetaRange(15,120);
69  fBox->SetPhiRange(0.,360);
70  fBox->SetCosTheta();
71  fBox->SetXYZ(0.2,0.2,0.);
72  primGen->AddGenerator(fBox);
73 
74  //EvtGen Generator
75 // FairEvtGenGenerator* evtGen = new
76 // FairEvtGenGenerator("/home/ralfk/Pandaroot/pandaroot/macro/mvd/output.evt");
77 // primGen->AddGenerator(evtGen);
78 
79  // Urqmd Generator
80  // FairUrqmdGenerator* urqmdGen = new FairUrqmdGenerator("../../input/00-03fm.100ev.f14");
81  // primGen->AddGenerator(urqmdGen);
82 
83  // DPM Generator
84  //PndDpmGenerator* dpmGen = new PndDpmGenerator("/home/kph/stockman/fairroot/cbmroot/pandaroot/pgenerators/DpmEvtGen/Background-micro.root");
85  //primGen->AddGenerator(dpmGen);
86 
87  // Field Map Definition
88  // --------------------
89  // 1- Reading the new field map in the old format
90 
91  fRun->SetBeamMom(15);
92  //---------------------Create and Set the Field(s)----------
94  fRun->SetField(fField);
95 
96  fRun->SetStoreTraj(kTRUE); // toggle this for use with EVE
97  fRun->SetRadLenRegister(kFALSE); // toggle for material budget study
98 
99  fRun->Init();
100 
101 
102 
103  // Fill the Parameter containers for this run
104  //-------------------------------------------
105  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
107  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
108  output->open(parOutput.Data(),"RECREATE");
109  rtdb->setOutput(output);
110 
111  // Transport nEvents
112  // -----------------
113 
114  fRun->Run(nEvents);
115 
116  rtdb->saveOutput();
117  rtdb->print();
118 
119 
120  timer.Stop();
121  Double_t rtime = timer.RealTime();
122  Double_t ctime = timer.CpuTime();
123  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
124 }
PndMultiField * fField
Definition: sim_emc_apd.C:97
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
int verboseLevel
Definition: Lars/runMvdSim.C:7
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
FairDetector * Mvd
Definition: sim_emc_apd.C:51
FairBoxGenerator * fBox
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
TString parOutput
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Stt
Definition: sim_emc_apd.C:47
Double_t
FairModule * Cave
Definition: sim_emc_apd.C:32
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
gDebug
Definition: sim_emc_apd.C:6
Double_t ctime
Definition: hit_dirc.C:114
TString simOutput
Definition: PndStt.h:34
FairModule * Pipe
Definition: sim_emc_apd.C:44
Double_t rtime
Definition: hit_dirc.C:113
FairModule * Magnet
Definition: sim_emc_apd.C:36
Definition: PndCave.h:8