PndGeoSttPar* fSttParameters = (PndGeoSttPar*) rtdb->getContainer("PndGeoSttPar");
/// works around the "geometry not supported by map" error /// HACK
PndSttTrackFinderReal* sttTrackFinder = new PndSttTrackFinderReal(0);
PndSttFindTracks* sttFindTracks = new PndSttFindTracks("Track Finder", "FairTask", sttTrackFinder, iVerbose);
sttFindTracks->AddHitCollectionName("STTHit", "STTPoint");
sttFindTracks->SetPersistence(kFALSE);
fRun->AddTask(sttFindTracks);
fRun->Init();
/////////////////////////////////////////////////////////
Definition at line 3 of file runOnlineDisplayGeomTest.C.
References c1, ctime, Double_t, DrawIsochrones(), filedigi(), filereco(), fRun, i, iVerbose, kDCH, kDRC, kDSK, kEMC, kFTS, kGEM, kHYP, kHYPG, kLUMI, kMDT, kMVD, kRPC, kSTT, kTOF, kTPC, rootlogon(), rtdb, rtime, timer, treedigi, and TString.
9 kDCH,
kDRC,
kDSK,
kEMC,
kGEM,
kLUMI,
kMDT,
kMVD,
kRPC,
kSTT,
kTPC,
kTOF,
kFTS,
kHYPG,
kHYP};
14 gROOT->LoadMacro(
"$VMCWORKDIR/gconfig/rootlogon.C");
20 TString simFileName =
"Sim_Dpm_500.root";
21 TString parFileName =
"Sim_Dpm_500_params.root";
22 TString digiFileName =
"Sim_Dpm_500_digi.root";
23 TString recoFileName =
"Sim_Dpm_500_reco.root";
24 TString outFileName =
"Sim_Dpm_500_streamdisplay.root";
28 TFile filerecopixel(recoFileName.Data());
34 TTree *recotree = (TTree*)
filereco.Get(
"pndsim");
41 FairRunAna *
fRun =
new FairRunAna();
42 fRun->SetInputFile(simFileName.Data());
43 fRun->AddFriend(recoFileName.Data());
44 fRun->AddFriend(digiFileName.Data());
45 fRun->SetOutputFile(outFileName.Data());
48 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
55 PndOnlineGeometryManager *online_geometry =
new PndOnlineGeometryManager(rtdb, parFileName.Data());
72 PndOnlineHitProducer *online_hit_producer =
new PndOnlineHitProducer();
73 online_hit_producer->LoadStream(
kSTT,
"STTSortedHits");
74 online_hit_producer->LoadStream(
kMVD,
"MVDHitsStrip");
75 online_hit_producer->LoadStream(
kMVD,
"MVDHitsPixel");
78 PndOnlineManager *online =
new PndOnlineManager();
79 online->AddHitProducer(online_hit_producer);
80 online->AddGeometryManager(online_geometry);
81 online->SetActiveDetector(
kSTT,stthitlifetime);
82 online->SetActiveDetector(
kMVD,stthitlifetime);
84 TClonesArray* tubearray = online_geometry->GetDetectorGeometry(
kSTT);
86 cerr <<
" size of the STT tube array = " << tubearray->GetEntriesFast() << endl;
89 PndOnlineSttTripletFinder *triplet_finder =
new PndOnlineSttTripletFinder(online, tubearray);
91 online->AddTask((FairTask*)triplet_finder);
94 TCanvas*
c1 =
new TCanvas(
"c1");
95 c1->Range(-42,-42,42,42);
96 c1->SetCanvasSize(1200, 1200);
97 TText* mytext =
new TText();
101 int current_time = 0;
104 int final_time = 300;
107 while( current_time < final_time ) {
109 online->LoadHits( delta_t );
113 current_time += delta_t;
120 cout <<
" Drawing stuff " << endl;
121 DrawIsochrones(current_time-stthitlifetime, online->GetFairHitObjectList(
kSTT), tubearray);
131 TObjArray *tracks = online->GetTrackObjectList();
132 for(
int i=0;
i<tracks->GetEntriesFast(); ++
i) {
133 PndOnlineTrack *trk_ptr = (PndOnlineTrack *)(tracks->At(
i));
134 cout <<
" triplet cms; "; trk_ptr->Vertex().Print();
140 mytext->DrawText(-42, -42, TString::Format(
"%d ns",current_time));
143 c1->Print(
"hitdisplay.gif+15");
150 cout << endl << endl;
151 cout <<
"Macro finished succesfully." << endl;
152 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
TFile filereco("MvdStt_Test_reco.root")
void DrawIsochrones(Int_t currenttime, TObjArray *stthits, TObjArray *stttubes, Int_t *timeviolationcount)
TFile filedigi("testdigi.root")