FairRoot/PandaRoot
Functions
outdated/tracking/onlineTracking/runSim.C File Reference

Go to the source code of this file.

Functions

 runSim (Int_t nEvents=500)
 

Function Documentation

runSim ( Int_t  nEvents = 500)

Definition at line 7 of file outdated/tracking/onlineTracking/runSim.C.

References Bool_t, Cave, ctime, Double_t, dpmGen, Drc, Dsk, Emc, fField, fRun, Fts, gDebug, Gem, kParameterMerged, Magnet, Muo, Mvd, nEvents, output, parOutput, Pipe, primGen, printf(), rtdb, rtime, PndMdt::SetBarrel(), PndMdt::SetEndcap(), PndEmc::SetGeometryVersion(), PndMdt::SetMdtMagnet(), PndMdt::SetMdtMFIron(), PndMdt::SetMuonFilter(), PndDrc::SetRunCherenkov(), PndEmc::SetStorageOfData(), PndDsk::SetStoreCerenkovs(), PndDsk::SetStoreTrackPoints(), simOutput, Stt, timer, TString, and verboseLevel.

8 {
9  TStopwatch timer;
10  timer.Start();
11  gDebug=0;
12  int verboseLevel = 0;
13 
14  //FileNames
15  TString simOutput="Sim_Dpm_500.root";
16  TString parOutput="Sim_Dpm_500_params.root";
17 
18  // Load basic libraries
19  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
20  FairRunSim *fRun = new FairRunSim();
21 
22  // set the MC version used
23  // ------------------------
24 
25  fRun->SetName("TGeant3");
26  //fRun->SetName("TGeant4");
27  // Choose the Geant Navigation System
28 
29  fRun->SetOutputFile(simOutput);
30 
31  // Fill the Parameter containers for this run
32  //-------------------------------------------
33  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
35  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
36  output->open(parOutput.Data(),"RECREATE");
37  rtdb->setOutput(output);
38 
39  // Set Material file Name
40  //-----------------------
41  fRun->SetMaterials("media_pnd.geo");
42 
43  // Create and add detectors
44  //-------------------------
45 
46  FairModule *Cave= new PndCave("CAVE");
47  Cave->SetGeometryFileName("pndcave.geo");
48  fRun->AddModule(Cave);
49  FairModule *Magnet= new PndMagnet("MAGNET");
50  Magnet->SetGeometryFileName("magnet.geo");
51  fRun->AddModule(Magnet);
52  FairModule *Pipe= new PndPipe("PIPE");
53  //fRun->AddModule(Pipe);
54  //------------------------- STT -----------------
55  FairDetector *Stt= new PndStt("STT", kTRUE);
56  Stt->SetGeometryFileName("straws_skewed_blocks_35cm_pipe.geo");
57  fRun->AddModule(Stt);
58 
59  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
60  Mvd->SetGeometryFileName("Mvd-2.1_FullVersion.root"); // only sensors, update follows
61  Mvd->SetVerboseLevel(verboseLevel);
62  fRun->AddModule(Mvd);
63  //------------------------- GEM -----------------
64  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
65  Gem->SetGeometryFileName("gem_3Stations.root");
66  fRun->AddModule(Gem);
67  //------------------------- EMC -----------------
68  PndEmc *Emc = new PndEmc("EMC",kTRUE);
69  Emc->SetGeometryVersion(2);
70  Emc->SetStorageOfData(kFALSE);
71  fRun->AddModule(Emc);
72  //------------------------- DRC -----------------
73  PndDrc *Drc = new PndDrc("DIRC", kTRUE);
74  Drc->SetGeometryFileName("dirc_l0_p0_updated.root");
75  Drc->SetRunCherenkov(kFALSE);
76  fRun->AddModule(Drc);
77  //------------------------- DISC -----------------
78  PndDsk* Dsk = new PndDsk("DSK", kTRUE);
79  Dsk->SetGeometryFileName("dsk.root");
80  Dsk->SetStoreCerenkovs(kFALSE);
81  Dsk->SetStoreTrackPoints(kFALSE);
82  fRun->AddModule(Dsk);
83  //------------------------- MDT -----------------
84  PndMdt *Muo = new PndMdt("MDT",kTRUE);
85  Muo->SetBarrel("fast");
86  Muo->SetEndcap("fast");
87  Muo->SetMuonFilter("fast");
88  Muo->SetMdtMagnet(kTRUE);
89  Muo->SetMdtMFIron(kTRUE);
90 // fRun->AddModule(Muo);
91  //------------------------- FTS -----------------
92  FairDetector *Fts= new PndFts("FTS", kTRUE);
93  Fts->SetGeometryFileName("fts.geo");
94  fRun->AddModule(Fts);
95 
96  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
97  fRun->SetGenerator(primGen);
98 
99 
100  // Particle Generator (pdgid,mult, px,py,pz, vx,vy,vz)
101  // single pions for testing
102 // FairParticleGenerator* partGenX = new FairParticleGenerator(211,1, 1.,0.,0., 0.,0.,0.);
103 // FairParticleGenerator* partGenY = new FairParticleGenerator(211,1, 0.,1.,0., 0.,0.,0.);
104 // FairParticleGenerator* partGenZ = new FairParticleGenerator(211,1, 0.,0.1,1., 0.,0.,0.);
105 // FairParticleGenerator* partGenXYZ = new FairParticleGenerator(211,1, 1.,1.,5., 0.,0.,0.);
106 // primGen->AddGenerator(partGenX);
107 // primGen->AddGenerator(partGenY);
108 // primGen->AddGenerator(partGenZ);
109 // primGen->AddGenerator(partGenXYZ);
110 
111  // Ion Generator
112  // FairIonGenerator *fIongen= new FairIonGenerator(79, 197,79,1, 0.,0., 25, 0.,0.,-1.);
113  // primGen->AddGenerator(fIongen);
114 
115  // Box Generator
116  //Pions
117 // FairBoxGenerator *fBox = new FairBoxGenerator(211, 4);
118 // fBox->SetPRange(2.5,2.5);
119 // fBox->SetThetaRange(10,40);
120 // fBox->SetPhiRange(350,360.);
121 // fBox->SetCosTheta();
122 // primGen->AddGenerator(fBox);
123 
124  //EvtGen Generator
125 // FairEvtGenGenerator* evtGen = new
126 // FairEvtGenGenerator("/home/ralfk/Pandaroot/pandaroot/macro/mvd/output.evt");
127 // primGen->AddGenerator(evtGen);
128 
129  // Urqmd Generator
130  // FairUrqmdGenerator* urqmdGen = new FairUrqmdGenerator("../../input/00-03fm.100ev.f14");
131  // primGen->AddGenerator(urqmdGen);
132 
133  // DPM Generator
134  //PndDpmGenerator* dpmGen = new PndDpmGenerator("/home/kph/stockman/fairroot/cbmroot/pandaroot/pgenerators/DpmEvtGen/Background-micro.root");
135  //primGen->AddGenerator(dpmGen);
136 
137  // Field Map Definition
138  // --------------------
139  // 1- Reading the new field map in the old format
140 
141  PndDpmDirect *dpmGen = new PndDpmDirect(15,1, gRandom->GetSeed());
142  primGen->AddGenerator(dpmGen);
143 
144 
145  fRun->SetBeamMom(15);
146  //---------------------Create and Set the Field(s)----------
147  PndMultiField *fField= new PndMultiField("FULL");
148  fRun->SetField(fField);
149 
150  fRun->SetStoreTraj(kTRUE); // toggle this for use with EVE
151  fRun->SetRadLenRegister(kFALSE); // toggle for material budget study
152 
153  fRun->Init();
154 
155 // Set cuts for storing the trajectpries
156 // FairTrajFilter* trajFilter = FairTrajFilter::Instance();
157 // trajFilter->SetStepSizeCut(0.01); // 1 cm
158 // trajFilter->SetVertexCut(-200., -200., -200, 200., 200., 200.);
159 // trajFilter->SetMomentumCutP(10e-3); // p_lab > 10 MeV
160 // trajFilter->SetEnergyCut(0., 1.02); // 0 < Etot < 1.04 GeV
161 // trajFilter->SetStorePrimaries(kTRUE);
162 // trajFilter->SetStoreSecondaries(kTRUE);
163 
164 
165 
166  // Transport nEvents
167  // -----------------
168 
169  fRun->Run(nEvents);
170 
171  rtdb->saveOutput();
172  rtdb->print();
173 
174 
175  timer.Stop();
176  Double_t rtime = timer.RealTime();
177  Double_t ctime = timer.CpuTime();
178  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
179 }
PndDrc * Drc
Definition: sim_emc_apd.C:75
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
PndDpmGenerator * dpmGen
PndEmc * Emc
Definition: sim_emc_apd.C:55
FairDetector * Mvd
Definition: sim_emc_apd.C:51
void SetMdtMFIron(bool opt=false)
Definition: PndMdt.h:29
void SetStorageOfData(Bool_t val)
Definition: PndEmc.cxx:941
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
PndMdt * Muo
Definition: sim_emc_apd.C:67
Simulation of EMC.
Definition: PndEmc.h:26
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairDetector * Dsk
Definition: run_DpmSim.C:66
TString parOutput
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Gem
Definition: runJohan.C:71
void SetMdtMagnet(bool opt=false)
Definition: PndMdt.h:27
void SetStoreTrackPoints(Bool_t storeTrackPoints)
Definition: PndDsk.h:148
FairDetector * Stt
Definition: sim_emc_apd.C:47
Double_t
void SetStoreCerenkovs(Bool_t storeCerenkovs)
Definition: PndDsk.h:146
FairModule * Cave
Definition: sim_emc_apd.C:32
Definition: PndDrc.h:31
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
virtual void SetGeometryVersion(const Int_t GeoNumber)
Definition: PndEmc.cxx:966
void SetBarrel(TString name)
Definition: PndMdt.h:31
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
gDebug
Definition: sim_emc_apd.C:6
Double_t ctime
Definition: hit_dirc.C:114
void SetEndcap(TString name)
Definition: PndMdt.h:32
void SetMuonFilter(TString name)
Definition: PndMdt.h:33
TString simOutput
void SetRunCherenkov(Bool_t ch)
Definition: PndDrc.h:222
Definition: PndStt.h:34
Definition: PndMdt.h:20
FairModule * Pipe
Definition: sim_emc_apd.C:44
Double_t rtime
Definition: hit_dirc.C:113
FairDetector * Fts
Definition: sim_ftof_stof.C:58
Definition: PndDsk.h:23
FairModule * Magnet
Definition: sim_emc_apd.C:36
Definition: PndFts.h:25
Definition: PndCave.h:8