10 #include "FairRootManager.h"
23 :FairTask(
"PndDrcLutFill")
30 :FairTask(
"PndDrcLutFill",verbose)
37 :FairTask(
"PndDrcLutFill",verbose)
52 cout <<
" ---------- INITIALIZATION ------------" << endl;
55 FairRootManager* ioman = FairRootManager::Instance();
57 cout <<
"-E- PndDrcLutFill::Init: " <<
"RootManager not instantiated!" << endl;
62 fMCArray = (TClonesArray*) ioman->GetObject(
"MCTrack");
64 cout <<
"-W- PndDrcLutFill::Init: " <<
"No MCTrack array!" << endl;
71 cout <<
"-W- PndDrcLutReco::Init: " <<
"No DrcBarPoint array!" << endl;
76 fPDPointArray = (TClonesArray*) ioman->GetObject(
"DrcPDPoint");
78 cout <<
"-W- PndDrcLutFill::Init: " <<
"No DrcPDPoint array!" << endl;
83 fEVPointArray = (TClonesArray*) ioman->GetObject(
"DrcEVPoint");
85 cout <<
"-W- PndDrcLutFill::Init: " <<
"No DrcEVPoint array!" << endl;
90 fDigiArray = (TClonesArray*) ioman->GetObject(
"DrcDigi");
92 cout <<
"-W- PndDrcLutFill::Init: " <<
"No DrcDigi array!" << endl;
96 fPDHitArray = (TClonesArray*) ioman->GetObject(
"DrcPDHit");
98 cout <<
"-W- PndDrcLutFill::Init: " <<
"No DrcPDHit array!" << endl;
103 fTree =
new TTree(
"dircsim",
"Look-up table for DIRC");
104 for(Int_t l=0; l<5; l++){
105 fLut[l] =
new TClonesArray(
"PndDrcLutNode");
106 fTree->Branch(Form(
"LUT%d",l),&
fLut[l],256000,0);
116 cout <<
"-I- PndDrcLutFill: Intialization successfull" << endl;
123 Int_t Nnodes = 30000;
124 for(Int_t l=0; l<5; l++){
125 TClonesArray &fLuta = *
fLut[l];
126 for (Long64_t
n=0;
n<Nnodes;
n++) {
137 std::cout<<
"Event # "<<
nevents<<std::endl;
151 TVector3 dir, dirm,
vec, posInBar;
154 for(Int_t k=0; k<
fPDHitArray->GetEntriesFast(); k++) {
156 Int_t pointID =
fPDHit->GetLink(1).GetIndex();
158 if(pointID==-1)
continue;
169 Int_t trackID =
fPDPoint->GetTrackID();
175 if(trackID ==
fEVPoint->GetTrackID()){
182 path += (vec.X()+vec.Y()*10 + vec.Z()*100)*1000*nev;
188 dir.RotateZ(-lutboxPhi/180.*
TMath::Pi());
192 if(sensorId>30000 || sensorId<0) {
193 std::cout<<
"WTQ fPDHit->GetDetectorID() "<<sensorId <<std::endl;
241 for(Int_t l=0; l<5; l++){
244 cout <<
"-I- PndDrcLutFill: Finish" << endl;
PndDrcBarPoint * fBarPoint
virtual void Exec(Option_t *option)
TClonesArray * fBarPointArray
TVector3 GetMomentum() const
virtual InitStatus Init()
TClonesArray * fEVPointArray
cout<< "blue = Monte Carlo "<< endl;cout<< "red = Helix Hit "<< endl;cout<< "green = Center Of Tubes "<< endl;for(Int_t k=0;k< track->GetEntriesFast();k++){PndSttTrack *stttrack=(PndSttTrack *) track-> At(k)
Int_t GetBarPointID() const
TVector3 GetPosition() const
TClonesArray * fPDPointArray
TClonesArray * fPDHitArray
TClonesArray * fDigiArray