--— IMPORTANT:: these areopen cut values for best combifinding of pair BT deltaR/Theta values --— IMPORTANT:: then you do NOT necessarily get back your values which you put in durign --— IMPORTANT:: your shower reconstruction cone ( deltaR/Theta cutvalues could be NO cutvalues --— IMPORTANT:: for some reconstruction algorithms for example, but we wanna have these values anyway. In Any Case: Frederics Cut looks only for best min_shower_deltar so we do also.
2891 Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"Convert the RecoShowerArray into <<treebranch>> style tree entries (backward compability).");
2892 Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"Reminder: a shower may have maxium of 5000 segments. - Limitation, my be discarded later, when necessary.");
2937 TTree* eShowerTree =
new TTree(treename,treename);
2948 eShowerTree->Branch(
"xb",
shower_xb,
"xb[sizeb]/F",256000);
2949 eShowerTree->Branch(
"yb",
shower_yb,
"yb[sizeb]/F",256000);
2950 eShowerTree->Branch(
"zb",
shower_zb,
"zb[sizeb]/F",256000);
2951 eShowerTree->Branch(
"txb",
shower_txb,
"txb[sizeb]/F",256000);
2952 eShowerTree->Branch(
"tyb",
shower_tyb,
"tyb[sizeb]/F",256000);
2953 eShowerTree->Branch(
"nfilmb",
shower_nfilmb,
"nfilmb[sizeb]/I",256000);
2958 eShowerTree->Branch(
"chi2btkb",
shower_chi2btkb,
"chi2btkb[sizeb]/F",256000);
2959 eShowerTree->Branch(
"deltarb",
shower_deltarb,
"deltarb[sizeb]/F",256000);
2961 eShowerTree->Branch(
"deltaxb",
shower_deltaxb,
"deltaxb[sizeb]/F",256000);
2962 eShowerTree->Branch(
"deltayb",
shower_deltayb,
"deltayb[sizeb]/F",256000);
2963 eShowerTree->Branch(
"tagprimary",
shower_tagprimary,
"tagprimary[sizeb]/F",256000);
2967 eShowerTree->Branch(
"idb",
shower_idb,
"idb/I");
2968 eShowerTree->Branch(
"plateb",
shower_plateb,
"plateb[sizeb]/I",256000);
2971 eShowerTree->Branch(
"purb",&
shower_purb,
"purb/F");
2978 Float_t min_shower_deltathetab=99999;
2979 Float_t min_shower_deltar=99999;
2980 Float_t test_shower_deltathetab=99999;
2981 Float_t test_shower_deltar=99999;
2982 Float_t test_shower_deltax,test_shower_deltay;
2983 Int_t max_diff_pid=0;
2984 Float_t extrapol_x,extrapol_y, extrapo_diffz;
2986 Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"showarray->GetEntries() = %d", showarrayN);
2989 for (
int i_shower=0; i_shower<showarrayN; i_shower++) {
2993 if (i_shower%100==0)
Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"Converting shower %05d with %03d basetracks.", i_shower,show->
N());
2999 min_shower_deltathetab=99999;
3000 min_shower_deltar=99999;
3001 test_shower_deltathetab=99999;
3002 test_shower_deltar=99999;
3003 test_shower_deltax=0;
3004 test_shower_deltay=0;
3017 for (
int ii=0; ii<5000; ii++) {
3035 for (Int_t i=1; i<59; ++i) {
3039 Log(3,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"Arrays reseted");
3051 if (
gEDBDEBUGLEVEL>3) cout <<
"--- --- ---------------------"<<endl;
3056 cout <<
"WARNING: shower_sizeb ( " <<
shower_sizeb<<
") greater than SHOWERARRAY. Set sizeb to 4999 and Stop filling!."<<endl;
3062 cout <<
"====== --- DOING segment " << ii << endl;
3088 diff_pid=TMath::Abs( Inseg->
PID()-seg->
PID() )+1;
3103 if (
gEDBDEBUGLEVEL>3) cout <<
"--- ---Inseg->PID() seg->PID() ii diif_pid shower_nfilmb[ii] " << Inseg->
PID()<<
" " << seg->
PID() <<
" " << ii<<
" " << diff_pid<<
" "<<
shower_nfilmb[ii]<<
" " << endl;
3118 min_shower_deltathetab=9999;
3119 min_shower_deltar=9999;
3122 if (ii==jj)
continue;
3130 if (TMath::Abs(extrapo_diffz)>4*1350+1.0)
continue;
3133 if (TMath::Abs(extrapo_diffz)<1.0)
continue;
3139 test_shower_deltax=extrapol_x;
3140 test_shower_deltay=extrapol_y;
3141 test_shower_deltax=test_shower_deltax-
shower_xb[jj];
3142 test_shower_deltay=test_shower_deltay-
shower_yb[jj];
3143 test_shower_deltar=TMath::Sqrt(test_shower_deltax*test_shower_deltax+test_shower_deltay*test_shower_deltay);
3156 if (
gEDBDEBUGLEVEL>3) cout <<
"RecoShowerArray_To_Treebranch--- ---ii = " << ii <<
" jj= " << jj <<
" test_shower_deltar = "<< test_shower_deltar <<
" test_shower_deltathetab = "<< test_shower_deltathetab << endl;
3165 if (test_shower_deltar<1000 && test_shower_deltathetab<2.0 ) {
3172 if (test_shower_deltar<min_shower_deltar) {
3173 min_shower_deltathetab=test_shower_deltathetab;
3174 min_shower_deltar=test_shower_deltar;
3188 for (Int_t i=1; i<59; ++i) {
3198 if (
gEDBDEBUGLEVEL>3) cout <<
" EdbShowRec::RecoShowerArray_To_Treebranch Loop done. Before ..Fill().. now."<<endl;
3201 eShowerTree->Fill();
3204 if (
gEDBDEBUGLEVEL>2) eShowerTree->Show(eShowerTree->GetEntries()-1);
3208 Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"Loop over showerArray finished.");
3253 eShowerTree->Dump();
3261 eShowerTree->Write(
"",TObject::kWriteDelete);
3262 cout <<
"DONE: --------------------------------- eShowerTree->Write("",TObject::kWriteDelete); ----------------------------------_" << endl;
3286 Log(2,
"EdbShowRec::RecoShowerArray_To_Treebranch",
"RecoShowerArray_To_Treebranch...done.");
Int_t shower_nfilmb[5000]
Definition: ShowRec.h:382
Float_t shower_yb[5000]
Definition: ShowRec.h:374
Int_t shower_showerID
Definition: ShowRec.h:370
Int_t shower_numberofholesconseq
Definition: ShowRec.h:404
Float_t shower_ntrace3simub[5000]
Definition: ShowRec.h:387
Float_t shower_deltaxb[5000]
Definition: ShowRec.h:380
Int_t shower_sizeb20
Definition: ShowRec.h:371
Float_t shower_purb
Definition: ShowRec.h:394
Float_t shower_tyb[5000]
Definition: ShowRec.h:377
Int_t shower_numberofholes
Definition: ShowRec.h:405
Float_t shower_deltathetab[5000]
Definition: ShowRec.h:379
Int_t shower_numberofilms
Definition: ShowRec.h:393
Int_t shower_ntrace2simub[5000]
Definition: ShowRec.h:386
Float_t shower_energy_shot_particle
Definition: ShowRec.h:372
Int_t shower_idb[5000]
Definition: ShowRec.h:390
Int_t shower_number_eventb
Definition: ShowRec.h:370
Int_t shower_sizeb15
Definition: ShowRec.h:371
Float_t shower_deltasigmathetab[58]
Definition: ShowRec.h:392
Float_t shower_tagprimary[5000]
Definition: ShowRec.h:389
Int_t shower_isizeb
Definition: ShowRec.h:370
Float_t shower_deltayb[5000]
Definition: ShowRec.h:381
Int_t shower_sizeb30
Definition: ShowRec.h:371
Int_t shower_ntrace4simub[5000]
Definition: ShowRec.h:388
Int_t shower_sizeb
Definition: ShowRec.h:370
Float_t shower_chi2btkb[5000]
Definition: ShowRec.h:384
Float_t shower_zb[5000]
Definition: ShowRec.h:375
Float_t shower_deltarb[5000]
Definition: ShowRec.h:378
Float_t shower_xb[5000]
Definition: ShowRec.h:373
Float_t shower_txb[5000]
Definition: ShowRec.h:376
Int_t shower_plateb[5000]
Definition: ShowRec.h:391
Int_t shower_ntrace1simub[5000]
Definition: ShowRec.h:385
Float_t TX() const
Definition: EdbSegP.h:172
Int_t ID() const
Definition: EdbSegP.h:144
Float_t X() const
Definition: EdbSegP.h:170
Float_t Chi2() const
Definition: EdbSegP.h:154
Float_t P() const
Definition: EdbSegP.h:149
Float_t Y() const
Definition: EdbSegP.h:171
Float_t W() const
Definition: EdbSegP.h:148
Float_t TY() const
Definition: EdbSegP.h:173
Int_t Flag() const
Definition: EdbSegP.h:146
TString GetTreebranchName() const
Definition: EdbShowRec.h:521
Int_t N() const
Definition: EdbShowerP.h:412
Int_t N0() const
Definition: EdbShowerP.h:400
EdbSegP * GetSegment(int i) const
Definition: EdbShowerP.h:435
Int_t N00() const
Definition: EdbShowerP.h:421
Int_t Npl() const
Definition: EdbShowerP.h:409
Float_t GetPurity() const
Definition: EdbShowerP.h:532