3 gInterpreter->GenerateDictionary(
"vector<TVector3>",
"TVector3.h");
8 TFile*
f =
new TFile(inFile);
9 TTree *
t=(TTree *) f->Get(
"dircsim") ;
10 TClonesArray* fLut[5];
11 for(Int_t l=0; l<5; l++){
12 fLut[l] =
new TClonesArray(
"PndDrcLutNode");
13 t->SetBranchAddress(Form(
"LUT%d",l),&fLut[l]);
18 TFile *fFileNew = TFile::Open(outFile,
"RECREATE");
19 TClonesArray *fLutNew[5];
21 TTree *fTreeNew =
new TTree(
"dircsim",
"Look-up table for DIRC. Averaged");
22 for(Int_t l=0; l<5; l++){
23 fLutNew[l] =
new TClonesArray(
"PndDrcLutNode");
24 fTreeNew->Branch(Form(
"LUT%d",l),&fLutNew[l],256000,0);
28 for(Int_t l=0; l<5; l++){
29 TClonesArray &fLutaNew = *fLutNew[l];
30 for (Long64_t
n=0;
n<Nnodes;
n++) {
42 std::vector<TVector3> vArray[
max];
43 std::vector<Double_t> tArray[
max];
44 std::vector<Double_t> pArray;
46 TVector3 dir, dir2, sum;
50 for(Int_t l=0; l<5; l++){
51 for (Int_t inode=0; inode<fLut[l]->GetEntriesFast(); inode++){
52 if(inode%1000==0) cout<<
"Node # "<<inode<<endl;
57 for(
int i=0;
i<size;
i++){
66 for(
int j=0; j<pArray.size(); j++){
67 if((Int_t)pathid == (Int_t)pArray[j]){
68 vArray[j].push_back(dir);
69 tArray[j].push_back(time);
74 vArray[pArray.size()].push_back(dir);
75 tArray[pArray.size()].push_back(time);
76 pArray.push_back(pathid);
80 for(
int j=0; j<pArray.size(); j++){
81 sum = TVector3(0,0,0);
83 for(
int v=0;
v<vArray[j].size();
v++) {
100 if(vArray[j].size()<5)
continue;
101 sum *= 1/(
Double_t)vArray[j].size();
102 sumt *= 1./(
Double_t)tArray[j].size();
106 for(
int i=0;
i<
max;
i++) {vArray[
i].clear(); tArray[
i].clear();}
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Double_t GetPath(Int_t entry)
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)
TVector3 GetEntry(Int_t entry)
Double_t GetTime(Int_t entry)