FairRoot/PandaRoot
Functions
feb10/run_sim_tpccombi.C File Reference

Go to the source code of this file.

Functions

 run_sim_tpccombi (Int_t nEvents=1000, Int_t pid=13, Float_t p1=1.0, Float_t p2=-1)
 

Function Documentation

run_sim_tpccombi ( Int_t  nEvents = 1000,
Int_t  pid = 13,
Float_t  p1 = 1.0,
Float_t  p2 = -1 
)

Initialize the session

Definition at line 3 of file feb10/run_sim_tpccombi.C.

References allDigiFile, Bool_t, Cave, ctime, digiFile, Dipole, Double_t, Drc, Emc, emcHitProd, evtGen, fField, fRun, gDebug, Gem, kParameterMerged, Muo, Mvd, nEvents, output, parFile, parIo1, Pipe, primGen, printf(), rootlogon(), rtdb, rtime, PndMdt::SetBarrel(), PndMdt::SetEndcap(), PndEmc::SetGeometryFileNameTriple(), PndMdt::SetMdtMagnet(), PndMdt::SetMdtMFIron(), PndMdt::SetMuonFilter(), PndDrc::SetRunCherenkov(), PndEmc::SetStorageOfData(), timer, Tof, Tpc, and TString.

3  {
4  TStopwatch timer;
5  timer.Start();
6  gDebug=0;
7  // Load basic libraries
8  // If it does not work, please check the path of the libs and put it by hands
9  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
10  rootlogon();
11 
12  TString digiFile = "all.par";
13  TString parFile = "params_tpccombi.root";
14 
15  FairRunSim *fRun = new FairRunSim();
16 
17  // set the MC version used
18  // ------------------------
19 
20  fRun->SetName("TGeant3");
21  //fRun->SetName("TGeant4");
22 
23  fRun->SetOutputFile("points_tpccombi.root");
24 
25  // Set Material file Name
26  //-----------------------
27  fRun->SetMaterials("media_pnd.geo");
28 
29  // Create and add detectors
30  //-------------------------
31  FairModule *Cave= new PndCave("CAVE");
32  Cave->SetGeometryFileName("pndcave.geo");
33  fRun->AddModule(Cave);
34 
35  //FairModule *Magnet= new PndMagnet("MAGNET");
36  //Magnet->SetGeometryFileName("FullSolenoid.root");
37  //fRun->AddModule(Magnet);
38 
39  FairModule *Dipole= new PndMagnet("MAGNET");
40  Dipole->SetGeometryFileName("dipole.geo");
41  fRun->AddModule(Dipole);
42 
43  FairModule *Pipe= new PndPipe("PIPE");
44  //fRun->AddModule(Pipe);
45 
46  FairDetector *Tpc = new PndTpcDetector("TPC", kTRUE);
47  Tpc->SetGeometryFileName("tpc.geo");
48  fRun->AddModule(Tpc);
49 
50  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
51  Mvd->SetGeometryFileName("MVD_v1.0_woPassiveTraps.root");
52  fRun->AddModule(Mvd);
53 
54  PndEmc *Emc = new PndEmc("EMC",kTRUE);
55  //new BwEndCap + FwEndCap
56  Emc->SetGeometryFileNameTriple("emc_module125.dat","emc_module3new.root","emc_module4_StraightGeo24.4.root"); //MapperVersion: 6
57  Emc->SetStorageOfData(kFALSE);
58  fRun->AddModule(Emc);
59 
60  FairDetector *Tof = new PndTof("TOF",kTRUE);
61  Tof->SetGeometryFileName("tofbarrel.geo");
62  fRun->AddModule(Tof);
63 
64  PndMdt *Muo = new PndMdt("MDT",kTRUE);
65  Muo->SetBarrel("fast");
66  Muo->SetEndcap("fast");
67  Muo->SetMuonFilter("fast");
68  Muo->SetMdtMagnet(kTRUE);
69  Muo->SetMdtMFIron(kTRUE);
70  fRun->AddModule(Muo);
71 
72  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
73  Gem->SetGeometryFileName("gem_3Stations.root");
74  fRun->AddModule(Gem);
75 
76  PndDrc *Drc = new PndDrc("DIRC", kTRUE);
77  Drc->SetRunCherenkov(kFALSE); // for fast sim Cherenkov -> kFALSE
78  fRun->AddModule(Drc);
79 
80  // Create and Set Event Generator
81  //-------------------------------
82 
83  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
84  fRun->SetGenerator(primGen);
85 
86  // EvtGen Generator
87  FairEvtGenGenerator* evtGen = new FairEvtGenGenerator("output.evt");
88  primGen->AddGenerator(evtGen);
89 
90 /*
91  // Box Generator
92  FairBoxGenerator* boxGen = new FairBoxGenerator(pid, 1); // 13 = muon; 1 = multipl.
93  if (p2<0.) p2 = p1;
94  boxGen->SetPRange(p1,p2); // GeV/c
95  boxGen->SetPhiRange(0., 360.); // Azimuth angle range [degree]
96  boxGen->SetThetaRange(5., 140.); // Polar angle in lab system range [degree]
97  boxGen->SetXYZ(0., 0., 0.); // mm o cm ??
98  primGen->AddGenerator(boxGen);
99 */
100 
101  //fRun->SetStoreTraj(kTRUE); // to store particle trajectories
102 
103  // Create and Set Magnetic Field
104  //-------------------------------
105  fRun->SetBeamMom(15);
106  PndMultiField *fField= new PndMultiField("FULL");
107  fRun->SetField(fField);
108 
109  // EMC Hit producer
110  //-------------------------------
112  fRun->AddTask(emcHitProd);
113 
114  // Set the parameters
115  //-------------------------------
116  TString allDigiFile = gSystem->Getenv("VMCWORKDIR");
117  allDigiFile += "/macro/params/";
118  allDigiFile += digiFile;
119 
120  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
121  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
122  parIo1->open(allDigiFile.Data(),"in");
123  rtdb->setFirstInput(parIo1);
124  Bool_t kParameterMerged=kTRUE;
125 
126  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
127  output->open(parFile);
128  rtdb->setOutput(output);
129 
131  fRun->Init();
132 
133  rtdb->setOutput(output);
134  rtdb->saveOutput();
135  rtdb->print();
136 
137  // Transport nEvents
138  // -----------------
139  fRun->Run(nEvents);
140 
141  timer.Stop();
142 
143  Double_t rtime = timer.RealTime();
144  Double_t ctime = timer.CpuTime();
145  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
146 
147 }
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)
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
creates PndEmcHits from PndEmcPoints
PndEmc * Emc
Definition: sim_emc_apd.C:55
TString digiFile
Definition: bump_emc.C:20
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
TString allDigiFile
Definition: hit_muo.C:36
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
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Gem
Definition: runJohan.C:71
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
Definition: PndDrc.h:31
Int_t nEvents
Definition: hit_dirc.C:11
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
FairDetector * Tof
Definition: sim_emc_apd.C:63
void SetEndcap(TString name)
Definition: PndMdt.h:32
void SetMuonFilter(TString name)
Definition: PndMdt.h:33
FairEvtGenGenerator * evtGen
virtual void SetGeometryFileNameTriple(TString fname, TString fname2, TString fname3, TString geoVer="0")
Definition: PndEmc.cxx:1116
void SetRunCherenkov(Bool_t ch)
Definition: PndDrc.h:222
FairDetector * Tpc
Definition: PndMdt.h:20
FairModule * Pipe
Definition: sim_emc_apd.C:44
Double_t rtime
Definition: hit_dirc.C:113
Definition: PndCave.h:8