FairRoot/PandaRoot
Functions
printsttcoords.C File Reference
#include "TStopwatch.h"
#include "TTree.h"
#include "TFile.h"
#include "TClonesArray.h"
#include "basefunctions.hxx"

Go to the source code of this file.

Functions

int printsttcoords ()
 

Function Documentation

int printsttcoords ( )

Definition at line 17 of file printsttcoords.C.

References PndSttFindTracks::AddHitCollectionName(), filedigi(), PndSttMapCreator::FillTubeArray(), fRun, iVerbose, parInput1, rootlogon(), rtdb, sttFindTracks, sttTrackFinder, timer, treedigi, and TString.

17  {
18  gROOT->Reset();
19  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
20  Int_t iVerbose = 0;
21 
22  TStopwatch timer;
23  timer.Start();
24  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
25  rootlogon();
26  //gSystem->Load("libSttMvdTracking");
27 
28  TString simFileName = "Sim_Dpm_500.root";
29  TString parFileName = "Sim_Dpm_500_params.root";
30  TString digiFileName = "Sim_Dpm_500_digi.root";
31  //TString recoFileName = "Sim_Dpm_500_reco.root";
32  TString outFileName = "Sim_Dpm_500_printsttcoords.root";
33 
34  TFile filedigi(digiFileName.Data());
35  //TFile filereco(recoFileName.Data());
36 
37  TTree *treedigi = (TTree*) filedigi.Get("pndsim");
38  TClonesArray *sttsortedhits = new TClonesArray("PndSttHit");
39  treedigi->SetBranchAddress("STTSortedHits",&sttsortedhits);
40 
41  FairRunAna *fRun= new FairRunAna();
42  fRun->SetInputFile(simFileName.Data());
43  //fRun->AddFriend(recoFile.Data());
44  fRun->AddFriend(digiFileName.Data());
45  //fRun->AddFriend(trackF.Data());
46  fRun->SetOutputFile(outFileName.Data());
47  //fRun->RunWithTimeStamps();
48  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
49  FairParRootFileIo* parInput1 = new FairParRootFileIo();
50  parInput1->open(parFileName.Data());
51  rtdb->setFirstInput(parInput1);
52 
53  //works around the "geometry not supported by map" error
55  PndSttFindTracks* sttFindTracks = new PndSttFindTracks("Track Finder", "FairTask", sttTrackFinder, iVerbose);
56  sttFindTracks->AddHitCollectionName("STTHit", "STTPoint");
57  //sttFindTracks->SetPersistence(kFALSE);
58  fRun->AddTask(sttFindTracks);
59  fRun->Init();
60  PndGeoSttPar* fSttParameters = (PndGeoSttPar*) rtdb->getContainer("PndGeoSttPar");
61  PndSttMapCreator* mapper = new PndSttMapCreator(fSttParameters);
62  TClonesArray* tubearray = mapper->FillTubeArray();
63 
64  PrintSttStats(tubearray);
65 
66  /*
67  for (Int_t entrynumber = 0; entrynumber < treedigi->GetEntriesFast(); entrynumber++) {
68  treedigi->GetEntry(entrynumber);
69  for (Int_t clonesnumber = 0; clonesnumber < sttsortedhits->GetEntriesFast(); clonesnumber++) {
70  PndSttHit* myHit = (PndSttHit*) sttsortedhits->At(clonesnumber);
71  TVector3 hitPos;
72  myHit->Position(hitPos);
73  Int_t tubeID = myHit->GetTubeID();
74  PndSttTube* myTube = (PndSttTube*) tubearray->At(tubeID);
75  TVector3 tubePos = myTube->GetPosition();
76  cout << entrynumber << " " << clonesnumber << " " << myHit->GetTimeStamp() << " " << tubeID << " " << hitPos.X() << " " << hitPos.Y() << " - " << tubePos.X() << " " << tubePos.Y() << endl;
77  }
78  }
79  */
80  return 0;
81 }
PndSttTrackFinderReal * sttTrackFinder
FairRunAna * fRun
Definition: hit_dirc.C:58
TTree * treedigi
TStopwatch timer
Definition: hit_dirc.C:51
TFile filedigi("testdigi.root")
PndSttFindTracks * sttFindTracks
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
TClonesArray * FillTubeArray()
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Int_t iVerbose
void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName)