5 #include <PndDchDigiProducer.h>
6 #include <PndDchCylinderHitProducer.h>
8 #include <PndTofHitProducerIdeal.h>
13 #include <PndTpcClusterizerTask.h>
14 #include <PndTpcDriftTask.h>
15 #include <PndTpcGemTask.h>
16 #include <PndTpcPadResponseTask.h>
17 #include <PndTpcElectronicsTask.h>
19 #include <FairBoxGenerator.h>
20 #include <FairEvtGenGenerator.h>
21 #include <FairModule.h>
22 #include <FairParAsciiFileIo.h>
23 #include <FairParRootFileIo.h>
24 #include <FairPrimaryGenerator.h>
25 #include <FairRunAna.h>
26 #include <FairRunSim.h>
27 #include <FairRuntimeDb.h>
30 #include <TStopwatch.h>
53 FairRunAna *
fRun=
new FairRunAna();
54 fRun->SetInputFile(inFile);
55 fRun->SetOutputFile(outFile);
59 emcDigiFile +=
"/macro/params/";
62 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
63 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
64 parInput1->open(parFile.Data());
66 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
67 parIo1->open(emcDigiFile.Data(),
"in");
69 rtdb->setFirstInput(parInput1);
70 rtdb->setSecondInput(parIo1);
79 fRun->AddTask(emcHitsToWaveform);
80 fRun->AddTask(emcWaveformToDigi);
83 fRun->AddTask(sttHitProducer);
85 QAPlotCollection* qa=
new QAPlotCollection(
"TpcDigiQAPlots");
87 PndTpcClusterizerTask*
tpcClusterizer =
new PndTpcClusterizerTask();
88 tpcClusterizer->SetPersistence();
91 tpcClusterizer->SetMereChargeConversion();
93 fRun->AddTask(tpcClusterizer);
109 PndTpcDriftTask*
tpcDrifter =
new PndTpcDriftTask();
110 tpcDrifter->SetPersistence();
111 tpcDrifter->SetDistort(
false);
112 tpcDrifter->SetQAPlotCol(qa);
113 fRun->AddTask(tpcDrifter);
115 PndTpcPadResponseTask*
tpcPadResponse =
new PndTpcPadResponseTask();
116 tpcPadResponse->SetPersistence();
117 fRun->AddTask(tpcPadResponse);
119 PndTpcElectronicsTask*
tpcElec =
new PndTpcElectronicsTask();
120 tpcElec->SetPersistence();
121 fRun->AddTask(tpcElec);
123 PndDchDigiProducer* digiProducer=
new PndDchDigiProducer();
124 fRun->AddTask(digiProducer);
126 PndDchCylinderHitProducer* cylHitProducer=
new PndDchCylinderHitProducer();
127 fRun->AddTask(cylHitProducer);
131 fRun->AddTask(mvddigi);
133 PndTofHitProducerIdeal*
tofhit =
new PndTofHitProducerIdeal();
134 tofhit->SetVerbose(iVerbose);
135 fRun->AddTask(tofhit);
139 fRun->AddTask(mdtHitProd);
142 fRun->AddTask(gemDigitize);
145 fRun->AddTask(gemFindHits);
157 cout << endl << endl;
158 cout <<
"Macro finished successfully." << endl;
159 cout <<
"Output file is " << outFile << endl;
160 cout <<
"Parameter file is " << parFile << endl;
161 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
PndGemFindHits * gemFindHits
PndEmcHitsToWaveform * emcHitsToWaveform
PndSttHitProducerRealFast * sttHitProducer
PndTpcClusterizerTask * tpcClusterizer
PndFtofHitProducerIdeal * tofhit
PndMdtHitProducerIdeal * mdtHitProd
PndTpcPadResponseTask * tpcPadResponse
void SetVerbose(Int_t iVerbose)
FairParRootFileIo * parInput1
PndGemDigitize * gemDigitize
PndEmcWaveformToDigi * emcWaveformToDigi
FairParAsciiFileIo * parIo1
PndTpcElectronicsTask * tpcElec
void DigiComplete(TString const &inFile, TString const &parFile, TString const &digiFile, TString const &outFile)
PndTpcDriftTask * tpcDrifter
void SetPositionSmearing(Float_t res)
Set the smearing of the PndMdtHit position.