FairRoot/PandaRoot
Functions
runMvdSimLambdaDisks.C File Reference

Go to the source code of this file.

Functions

 runMvdSimLambdaDisks (Int_t nEvents=10)
 

Function Documentation

runMvdSimLambdaDisks ( Int_t  nEvents = 10)

Definition at line 4 of file runMvdSimLambdaDisks.C.

References Bool_t, Cave, ctime, Double_t, Emc, fBox, fField, fRun, 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(), PndEmc::SetStorageOfData(), simOutput, Stt, timer, TString, and verboseLevel.

5 {
6  TStopwatch timer;
7  timer.Start();
8  gDebug=0;
9  int verboseLevel = 0;
10 
11  //FileNames
12  TString simOutput="Mvd_Sim_Lambda.root";
13  TString parOutput="Mvd_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  // Fill the Parameter containers for this run
28  //-------------------------------------------
29  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
31  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
32  output->open(parOutput.Data(),"RECREATE");
33  rtdb->setOutput(output);
34 
35  // Set Material file Name
36  //-----------------------
37  fRun->SetMaterials("media_pnd.geo");
38 
39  // Create and add detectors
40  //-------------------------
41 
42  FairModule *Cave= new PndCave("CAVE");
43  Cave->SetGeometryFileName("pndcave.geo");
44  fRun->AddModule(Cave);
45  FairModule *Magnet= new PndMagnet("MAGNET");
46  Magnet->SetGeometryFileName("magnet.geo");
47  fRun->AddModule(Magnet);
48  FairModule *Pipe= new PndPipe("PIPE");
49  //fRun->AddModule(Pipe);
50  //------------------------- STT -----------------
51  FairDetector *Stt= new PndStt("STT", kFALSE);
52  Stt->SetGeometryFileName("straws_skewed_blocks_pipe_120cm.geo");
53  fRun->AddModule(Stt);
54 
55  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
56  Mvd->SetGeometryFileName("Mvd-2.1_FullVersion.root");
57  Mvd->SetVerboseLevel(verboseLevel);
58  fRun->AddModule(Mvd);
59 
60  FairDetector *LambdaDisks = new PndMvdDetector("MVD", kTRUE);
61  LambdaDisks->SetGeometryFileName("LambdaDisksNew.root");
62  LambdaDisks->SetVerboseLevel(verboseLevel);
63  fRun->AddModule(LambdaDisks);
64 
65 
66  //------------------------- EMC -----------------
67  PndEmc *Emc = new PndEmc("EMC",kFALSE);
68  Emc->SetGeometryVersion(15);
69  // See PndEmc::SetGeometryVersion() for available geometries and add there new one if necessary
70  Emc->SetStorageOfData(kFALSE);
71  fRun->AddModule(Emc);
72  //------------------------- MDT -----------------
73  PndMdt *Muo = new PndMdt("MDT",kFALSE);
74  Muo->SetBarrel("torino");
75  Muo->SetEndcap("torino");
76  Muo->SetMuonFilter("torino");
77  Muo->SetMdtMagnet(kTRUE);
78  Muo->SetMdtMFIron(kTRUE);
79  //fRun->AddModule(Muo);
80  //------------------------- DCH -----------------
81 // FairDetector *Dch = new PndDchDetector("DCH", kFALSE);
82 // Dch->SetGeometryFileName("dch.root");
83  //fRun->AddModule(Dch);
84 
85  //------------------------- GEM -----------------
86  FairDetector *Gem = new PndGemDetector("GEM", kFALSE);
87  Gem->SetGeometryFileName("gem_3Stations.root");
88  //fRun->AddModule(Gem);
89 
90  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
91  fRun->SetGenerator(primGen);
92 
93 
94  // Particle Generator (pdgid,mult, px,py,pz, vx,vy,vz)
95  // single pions for testing
96 // FairParticleGenerator* partGenX = new FairParticleGenerator(211,1, 1.,0.,0., 0.,0.,0.);
97 // FairParticleGenerator* partGenY = new FairParticleGenerator(211,1, 0.,1.,0., 0.,0.,0.);
98 // FairParticleGenerator* partGenZ = new FairParticleGenerator(211,1, 0.,0.1,1., 0.,0.,0.);
99 // FairParticleGenerator* partGenXYZ = new FairParticleGenerator(211,1, 1.,1.,5., 0.,0.,0.);
100 // primGen->AddGenerator(partGenX);
101 // primGen->AddGenerator(partGenY);
102 // primGen->AddGenerator(partGenZ);
103 // primGen->AddGenerator(partGenXYZ);
104 
105 // primGen->AddGenerator(partGenXYZ);
106 
107  // Ion Generator
108  // FairIonGenerator *fIongen= new FairIonGenerator(79, 197,79,1, 0.,0., 25, 0.,0.,-1.);
109  // primGen->AddGenerator(fIongen);
110 
111  // Box Generator
112  //Pions
113  FairBoxGenerator *fBox = new FairBoxGenerator(211, 4);
114  fBox->SetPRange(2.5,2.5);
115  fBox->SetThetaRange(5,22);
116  fBox->SetPhiRange(0.,360);
117  fBox->SetCosTheta();
118  primGen->AddGenerator(fBox);
119 
120  //EvtGen Generator
121 // FairEvtGenGenerator* evtGen = new
122 // FairEvtGenGenerator("/home/ralfk/Pandaroot/pandaroot/macro/mvd/output.evt");
123 // primGen->AddGenerator(evtGen);
124 
125  // Urqmd Generator
126  // FairUrqmdGenerator* urqmdGen = new FairUrqmdGenerator("../../input/00-03fm.100ev.f14");
127  // primGen->AddGenerator(urqmdGen);
128 
129  // DPM Generator
130  //PndDpmGenerator* dpmGen = new PndDpmGenerator("/home/kph/stockman/fairroot/cbmroot/pandaroot/pgenerators/DpmEvtGen/Background-micro.root");
131  //primGen->AddGenerator(dpmGen);
132 
133  // Field Map Definition
134  // --------------------
135  // 1- Reading the new field map in the old format
136 
137  fRun->SetBeamMom(15);
138  //---------------------Create and Set the Field(s)----------
139  PndMultiField *fField= new PndMultiField("FULL");
140  fRun->SetField(fField);
141 
142  fRun->SetStoreTraj(kTRUE); // toggle this for use with EVE
143  fRun->SetRadLenRegister(kFALSE); // toggle for material budget study
144 
145  fRun->Init();
146 
147 // Set cuts for storing the trajectpries
148 // FairTrajFilter* trajFilter = FairTrajFilter::Instance();
149 // trajFilter->SetStepSizeCut(0.01); // 1 cm
150 // trajFilter->SetVertexCut(-200., -200., -200, 200., 200., 200.);
151 // trajFilter->SetMomentumCutP(10e-3); // p_lab > 10 MeV
152 // trajFilter->SetEnergyCut(0., 1.02); // 0 < Etot < 1.04 GeV
153 // trajFilter->SetStorePrimaries(kTRUE);
154 // trajFilter->SetStoreSecondaries(kTRUE);
155 
156 
157 
158  // Transport nEvents
159  // -----------------
160 
161  fRun->Run(nEvents);
162 
163  rtdb->saveOutput();
164  rtdb->print();
165 
166 
167  timer.Stop();
168  Double_t rtime = timer.RealTime();
169  Double_t ctime = timer.CpuTime();
170  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
171 }
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
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
FairBoxGenerator * fBox
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
TString parOutput
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Gem
Definition: runJohan.C:71
void SetMdtMagnet(bool opt=false)
Definition: PndMdt.h:27
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
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
Definition: PndStt.h:34
Definition: PndMdt.h:20
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