FairRoot/PandaRoot
Functions
sim_muo_dub.C File Reference

Go to the source code of this file.

Functions

 sim_muo_dub (Int_t nEvents=10, Int_t pid=13, Float_t p1=1.0, Float_t p2=-1, UInt_t seed=0)
 

Function Documentation

sim_muo_dub ( Int_t  nEvents = 10,
Int_t  pid = 13,
Float_t  p1 = 1.0,
Float_t  p2 = -1,
UInt_t  seed = 0 
)

Initialize the session

Definition at line 3 of file sim_muo_dub.C.

References allDigiFile, Bool_t, boxGen, Cave, ctime, digiFile, Dipole, Double_t, emcHitProd, fField, fRun, gDebug, kParameterMerged, Magnet, Muo, nEvents, output, p1, p2, parFile, parIo1, pid(), Pipe, primGen, printf(), rtdb, rtime, seed, PndMdt::SetBarrel(), PndMdt::SetEndcap(), PndMdt::SetForward(), PndMdt::SetMdtMagnet(), PndMdt::SetMuonFilter(), timer, and TString.

3  {
4  gRandom->SetSeed(seed);
5  TStopwatch timer;
6  timer.Start();
7  gDebug=0;
8 
9  TString digiFile = "all.par";
10  TString parFile = "params_sttcombi.root";
11 
12  FairRunSim *fRun = new FairRunSim();
13 
14  // set the MC version used
15  // ------------------------
16 
17  fRun->SetName("TGeant3");
18  //fRun->SetName("TGeant4");
19 
20  fRun->SetOutputFile("points_sttcombi.root");
21 
22  // Set the parameters
23  //-------------------------------
24  TString allDigiFile = gSystem->Getenv("VMCWORKDIR");
25  allDigiFile += "/macro/params/";
26  allDigiFile += digiFile;
27 
28  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
29  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
30  parIo1->open(allDigiFile.Data(),"in");
31  rtdb->setFirstInput(parIo1);
33 
34  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
35  output->open(parFile);
36  rtdb->setOutput(output);
37 
38  // Set Material file Name
39  //-----------------------
40  fRun->SetMaterials("media_pnd.geo");
41 
42  // Create and add detectors
43  //-------------------------
44  FairModule *Cave= new PndCave("CAVE");
45  Cave->SetGeometryFileName("pndcave.geo");
46  fRun->AddModule(Cave);
47 
48  FairModule *Magnet= new PndMagnet("MAGNET");
49  //Magnet->SetGeometryFileName("FullSolenoid_V842.root");
50  Magnet->SetGeometryFileName("FullSuperconductingSolenoid_v831.root");
51  fRun->AddModule(Magnet);
52 
53  FairModule *Dipole= new PndMagnet("MAGNET");
54  Dipole->SetGeometryFileName("dipole.geo");
55  fRun->AddModule(Dipole);
56 
57  FairModule *Pipe= new PndPipe("PIPE");
58  //Pipe->SetGeometryFileName("beampipe_201112.root");
59  fRun->AddModule(Pipe);
60  /*
61  FairDetector *Stt= new PndStt("STT", kTRUE);
62  Stt->SetGeometryFileName("straws_skewed_blocks_35cm_pipe.geo");
63  fRun->AddModule(Stt);
64 
65  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
66  Mvd->SetGeometryFileName("Mvd-2.1_FullVersion.root");
67  fRun->AddModule(Mvd);
68 
69  PndEmc *Emc = new PndEmc("EMC",kTRUE);
70  Emc->SetGeometryVersion(1);
71  Emc->SetStorageOfData(kFALSE);
72  fRun->AddModule(Emc);
73 
74  FairDetector *SciT = new PndSciT("SCIT",kTRUE);
75  SciT->SetGeometryFileName("SciTil_Barrel_woPCB.root");
76  fRun->AddModule(SciT);
77  */
78  PndMdt *Muo = new PndMdt("MDT",kTRUE);
79  Muo->SetBarrel("muon_TS_barrel_strip_v1_noGeo.root");
80  Muo->SetEndcap("muon_TS_endcap_strip_v1_noGeo.root");
81  Muo->SetForward("muon_Forward_strip_v1_noGeo.root");
82  Muo->SetMuonFilter("muon_MuonFilter_strip_v1_noGeo.root");
83  Muo->SetMdtMagnet(kTRUE);
84  fRun->AddModule(Muo);
85  /*
86  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
87  Gem->SetGeometryFileName("gem_3Stations.root");
88  fRun->AddModule(Gem);
89 
90  PndDsk* Dsk = new PndDsk("DSK", kTRUE);
91  Dsk->SetGeometryFileName("dsk.root");
92  Dsk->SetStoreCerenkovs(kFALSE);
93  Dsk->SetStoreTrackPoints(kFALSE);
94  fRun->AddModule(Dsk);
95 
96  PndDrc *Drc = new PndDrc("DIRC", kTRUE);
97  Drc->SetGeometryFileName("dirc_l0_p0_updated.root");
98  Drc->SetRunCherenkov(kFALSE); // for fast sim Cherenkov -> kFALSE
99  fRun->AddModule(Drc);
100 
101  FairDetector *Fts= new PndFts("FTS", kTRUE);
102  Fts->SetGeometryFileName("fts.geo");
103  fRun->AddModule(Fts);
104 
105  FairDetector *FTof = new PndFtof("FTOF",kTRUE);
106  FTof->SetGeometryFileName("ftofwall.root");
107  fRun->AddModule(FTof);
108  */
109  // Create and Set Event Generator
110  //-------------------------------
111 
112  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
113  fRun->SetGenerator(primGen);
114 
115  // Box Generator
116  FairBoxGenerator* boxGen = new FairBoxGenerator(pid, 1); // 13 = muon; 1 = multipl.
117  if (p2<0.) p2 = p1;
118  boxGen->SetPRange(p1,p2); // GeV/c
119  boxGen->SetPhiRange(0., 360.); // Azimuth angle range [degree]
120  boxGen->SetThetaRange(0.5, 90.); // Polar angle in lab system range [degree]
121  boxGen->SetXYZ(0., 0., 0.); // mm o cm ??
122  primGen->AddGenerator(boxGen);
123 
124  // Create and Set Magnetic Field
125  //-------------------------------
126  fRun->SetBeamMom(15);
127  PndMultiField *fField= new PndMultiField("FULL");
128  fRun->SetField(fField);
129 
130  // EMC Hit producer
131  //-------------------------------
133  fRun->AddTask(emcHitProd);
134 
136  fRun->Init();
137 
138  rtdb->setOutput(output);
139  rtdb->saveOutput();
140  rtdb->print();
141 
142  // Transport nEvents
143  // -----------------
144  fRun->Run(nEvents);
145 
146  timer.Stop();
147 
148  Double_t rtime = timer.RealTime();
149  Double_t ctime = timer.CpuTime();
150  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
151 
152 }
PndMultiField * fField
Definition: sim_emc_apd.C:97
void SetForward(TString name)
Definition: PndMdt.h:34
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
creates PndEmcHits from PndEmcPoints
int pid()
TString digiFile
Definition: bump_emc.C:20
TString allDigiFile
Definition: hit_muo.C:36
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
PndMdt * Muo
Definition: sim_emc_apd.C:67
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairRunAna * fRun
Definition: hit_dirc.C:58
void SetMdtMagnet(bool opt=false)
Definition: PndMdt.h:27
Double_t
FairModule * Dipole
Definition: sim_emc_apd.C:40
TString parFile
Definition: hit_dirc.C:14
FairModule * Cave
Definition: sim_emc_apd.C:32
Int_t nEvents
Definition: hit_dirc.C:11
unsigned int seed
TStopwatch timer
Definition: hit_dirc.C:51
void SetBarrel(TString name)
Definition: PndMdt.h:31
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
gDebug
Definition: sim_emc_apd.C:6
PndEmcHitProducer * emcHitProd
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
FairBoxGenerator * boxGen
Definition: sim_emc_apd.C:85
TPad * p2
Definition: hist-t7.C:117
void SetEndcap(TString name)
Definition: PndMdt.h:32
void SetMuonFilter(TString name)
Definition: PndMdt.h:33
Definition: PndMdt.h:20
TPad * p1
Definition: hist-t7.C:116
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