FairRoot/PandaRoot
Functions
simExclusive.C File Reference

Go to the source code of this file.

Functions

 simExclusive (Int_t nEvents=100, TString SimEngine="TGeant3", UInt_t seed=123)
 

Function Documentation

simExclusive ( Int_t  nEvents = 100,
TString  SimEngine = "TGeant3",
UInt_t  seed = 123 
)

Definition at line 1 of file simExclusive.C.

References allDigiFile, BeamMomentum, Bool_t, Cave, ctime, digiFile, Dipole, Double_t, Drc, Dsk, Emc, emcHitProd, fField, fRun, FTof, Fts, gDebug, Gem, kParameterMerged, Magnet, Muo, Mvd, nEvents, output, parIo1, Pipe, primGen, printf(), rootlogon(), rtdb, rtime, PndMdt::SetBarrel(), PndMdt::SetEndcap(), PndMdt::SetForward(), PndEmc::SetGeometryVersion(), PndMdt::SetMdtMagnet(), PndMdt::SetMdtMFIron(), PndMdt::SetMuonFilter(), PndDrc::SetRunCherenkov(), PndEmc::SetStorageOfData(), PndDsk::SetStoreCerenkovs(), PndDsk::SetStoreTrackPoints(), Stt, timer, and TString.

1  {
2 
3  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
4  rootlogon();
5 
6  //Loading ChiGen libraries
7  gSystem->Load("libEvtGenExternal");
8  gSystem->Load("libEvtGen");
9  gSystem->Load("libEvtGenDirect");
10  gSystem->Load("libCHIGEN");
11 
12  //-----User Settings:-----------------------------------------------
13  TString OutputFile = "sim_complete.root";
14  TString ParOutputfile = "simparams.root";
15  TString MediaFile = "media_pnd.geo";
16  gDebug = 0;
17  TString digiFile = "all.par"; //The emc run the hit producer directly
18  // choose your event generator
19  Bool_t UseEvtGen = kFALSE;
20  Bool_t UseEvtGenDirect = kTRUE;
21  Bool_t UseDpm = kFALSE;
22  Bool_t UseBoxGenerator = kFALSE;
23 
24  Double_t BeamMomentum = 5.062; // beam momentum for chi_c1 (5.228 for chi_c2)
25 
26  //------------------------------------------------------------------
27  TStopwatch timer;
28  timer.Start();
29  gRandom->SetSeed();
30 
31  // Create the Simulation run manager--------------------------------
32  FairRunSim *fRun = new FairRunSim();
33  fRun->SetName(SimEngine.Data());
34  fRun->SetOutputFile(OutputFile.Data());
35  fRun->SetGenerateRunInfo(kFALSE);
36  fRun->SetBeamMom(BeamMomentum);
37  fRun->SetMaterials(MediaFile.Data());
38  FairRuntimeDb *rtdb = fRun->GetRuntimeDb();
39 
40  // Set the parameters
41  //-------------------------------
42  TString allDigiFile = gSystem->Getenv("VMCWORKDIR");
43  allDigiFile += "/macro/params/";
44  allDigiFile += digiFile;
45 
46 
47  //-------Set the parameter output --------------------
48  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
49  parIo1->open(allDigiFile.Data(), "in");
50  rtdb->setFirstInput(parIo1);
51 
52  //---------------------Set Parameter output ----------
53  Bool_t kParameterMerged = kTRUE;
54  FairParRootFileIo* output = new FairParRootFileIo(kParameterMerged);
55  output->open(ParOutputfile.Data());
56  rtdb->setOutput(output);
57 
58  // Create and add detectors
59 
60  //------------------------- CAVE -----------------
61 
62  FairModule *Cave = new PndCave("CAVE");
63  Cave->SetGeometryFileName("pndcave.geo");
64  fRun->AddModule(Cave);
65  //------------------------- Magnet -----------------
66  FairModule *Magnet = new PndMagnet("MAGNET");
67  //Magnet->SetGeometryFileName("FullSolenoid_V842.root");
68  Magnet->SetGeometryFileName("FullSuperconductingSolenoid_v831.root");
69  fRun->AddModule(Magnet);
70  FairModule *Dipole = new PndMagnet("MAGNET");
71  Dipole->SetGeometryFileName("dipole.geo");
72  fRun->AddModule(Dipole);
73  //------------------------- Pipe -----------------
74  FairModule *Pipe = new PndPipe("PIPE");
75  Pipe->SetGeometryFileName("beampipe_201112.root");
76  fRun->AddModule(Pipe);
77  //------------------------- STT -----------------
78  FairDetector *Stt = new PndStt("STT", kTRUE);
79  Stt->SetGeometryFileName("straws_skewed_blocks_35cm_pipe.geo");
80  fRun->AddModule(Stt);
81  //------------------------- MVD -----------------
82  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
83  Mvd->SetGeometryFileName("Mvd-2.1_FullVersion.root");
84  fRun->AddModule(Mvd);
85  //------------------------- GEM -----------------
86  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
87  Gem->SetGeometryFileName("gem_3Stations.root");
88  fRun->AddModule(Gem);
89  //------------------------- EMC -----------------
90  PndEmc *Emc = new PndEmc("EMC", kTRUE);
91  Emc->SetGeometryVersion(1);
92  Emc->SetStorageOfData(kFALSE);
93  fRun->AddModule(Emc);
94  //------------------------- SCITIL -----------------
95  FairDetector *SciT = new PndSciT("SCIT", kTRUE);
96  SciT->SetGeometryFileName("barrel-SciTil_07022013.root");
97  fRun->AddModule(SciT);
98  //------------------------- DRC -----------------
99  PndDrc *Drc = new PndDrc("DIRC", kTRUE);
100  Drc->SetGeometryFileName("dirc_l0_p0_updated.root");
101  Drc->SetRunCherenkov(kFALSE);
102  fRun->AddModule(Drc);
103  //------------------------- DISC -----------------
104  PndDsk* Dsk = new PndDsk("DSK", kTRUE);
105  Dsk->SetStoreCerenkovs(kFALSE);
106  Dsk->SetStoreTrackPoints(kFALSE);
107  fRun->AddModule(Dsk);
108  //------------------------- MDT -----------------
109  PndMdt *Muo = new PndMdt("MDT", kTRUE);
110  Muo->SetBarrel("fast");
111  Muo->SetEndcap("fast");
112  Muo->SetMuonFilter("fast");
113  Muo->SetForward("fast");
114  Muo->SetMdtMagnet(kTRUE);
115  Muo->SetMdtMFIron(kTRUE);
116  fRun->AddModule(Muo);
117  //------------------------- FTS -----------------
118  FairDetector *Fts = new PndFts("FTS", kTRUE);
119  Fts->SetGeometryFileName("fts.geo");
120  fRun->AddModule(Fts);
121  //------------------------- FTOF -----------------
122  FairDetector *FTof = new PndFtof("FTOF", kTRUE);
123  FTof->SetGeometryFileName("ftofwall.root");
124  fRun->AddModule(FTof);
125  //------------------------- RICH ----------------
126  FairDetector *Rich = new PndRich("RICH", kFALSE);
127  Rich->SetGeometryFileName("rich_v2.geo");
128  fRun->AddModule(Rich);
129 
130  // Create and ChiGen generator
131  //-------------------------------
132  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
133  fRun->SetGenerator(primGen);
134 
135  //uncomment for configuration of ChiGen
136  /*
137  chigen::initialize(seed);
138  chigen::ostreams::suppress_all_cout = false;
139  chigen::ostreams::write_log_file = false;
140  chigen::ostreams::suppress_pandaroot = false;
141  chigen::ostreams::suppress_pandaroot_cout = false;
142  chigen::ostreams::verbose_mode = true;
143  */
144 
145  //partonic model for unpolarized chi_{c1}
147  chigen::PndChiGenExclusive chigen(chi1);
148  primGen->AddGenerator(&chigen);
149 
150 
151 
152  //---------------------Create and Set the Field(s)----------
153  PndMultiField *fField = new PndMultiField("AUTO");
154  fRun->SetField(fField);
155 
156  // EMC Hit producer
157  //-------------------------------
159  fRun->AddTask(emcHitProd);
160 
161  //------------------------- Initialize the RUN -----------------
162  fRun->Init();
163  //------------------------- Run the Simulation -----------------
164  fRun->Run(nEvents);
165  //------------------------- Save the parameters -----------------
166  rtdb->saveOutput();
167  //------------------------Print some info and exit----------------
168  timer.Stop();
169  Double_t rtime = timer.RealTime();
170  Double_t ctime = timer.CpuTime();
171  printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime);
172 
173  cout << " Test passed" << endl;
174  cout << " All ok " << endl;
175 
176  //exit(0);
177 
178 }
PndDrc * Drc
Definition: sim_emc_apd.C:75
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)
FairDetector * FTof
Definition: sim_ftof.C:49
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
double BeamMomentum
Definition: sim_ftof_stof.C:17
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
FairDetector * Dsk
Definition: run_DpmSim.C:66
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
void SetStoreCerenkovs(Bool_t storeCerenkovs)
Definition: PndDsk.h:146
Double_t
FairModule * Dipole
Definition: sim_emc_apd.C:40
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
PndEmcHitProducer * emcHitProd
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
void SetEndcap(TString name)
Definition: PndMdt.h:32
void SetMuonFilter(TString name)
Definition: PndMdt.h:33
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