FEDRA emulsion software from the OPERA Collaboration
EdbShowerRec.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbShowerRec
2 #define ROOT_EdbShowerRec
3 
4 #include "EdbDataSet.h"
5 #include "TArrayI.h"
6 #include "TObjArray.h"
7 #include "EdbCluster.h"
8 #include "TTree.h"
9 #include "TSortedList.h"
10 #include "TArrayL.h"
11 #include "TMatrixD.h"
12 #include "EdbVirtual.h"
13 #include "TMultiLayerPerceptron.h"
14 #include "smatrix/Functions.hh"
15 #include "EdbTrackFitter.h"
16 #include "TH1.h"
17 #include "TSystem.h"
18 #include "TF1.h"
19 #include "TVector3.h"
20 #include "TLorentzVector.h"
21 #include "EdbLog.h"
22 #include "TROOT.h"
23 
24 class EdbShowerRec : public TObject
25 {
26 private:
27 
28  // Variables related to algorithm settings
29  Double_t eAlgoParameterConeRadius; // Radius of spanning cone from first BT
30  Double_t eAlgoParameterConeAngle; // Opening angle of spanning cone from first BT
31 
32  Double_t eAlgoParameterConnectionDR; // Connection Criterium: delta R
33  Double_t eAlgoParameterConnectionDT; // Connection Criterium: delta T
34 
35  Int_t eAlgoParameterNPropagation; // N plates backpropagating
36 
37  // Variables to individually set QualityCut value (additionally to default.par)
38  Double_t eQualityPar[2];
40 
41 
42  // Variables concerning the Shower Object and the Reco Object:
43  Int_t eID; // shower ID
44  Float_t eX0; // |_coordinates of the first shower segment
45  Float_t eY0; // | in the SAME FOR ALL SEGMENTS aligned coordinate system
46  Float_t eZ0; // |
47  Float_t eTx; // tanX: deltaX/deltaZ for the first shower segment
48  Float_t eTy; // tanY: deltaY/deltaZ for the first shower segment
49  Int_t eTrID; // ID of the tracks of the first BT (in cp file if simulation!)
50  Float_t eChi20; // Chi2 of the first shower segment
51  Int_t eW0; // W of the first shower segment
52  Float_t eP0; // P of the first shower segment
53  Int_t eFlag0; // Flag of the first shower segment
54  Int_t emcDigitIndexTop0; // Top Digit index of the first shower segment
55  Int_t emcDigitIndexBottom0; // Bottom Digit index of the first shower segment
56 
57  Float_t eDz; // length of the shower along Z
58  Int_t eL; // length of the shower in number of film
59 
60  Int_t eIDb[10000]; // ID of basetrack
61  Int_t ePlateb[10000]; // Plate ID of basetrack
62  Float_t eXb[10000]; // X position of basetrack
63  Float_t eYb[10000]; // Y position of basetrack
64  Float_t eZb[10000]; // Z position of basetrack
65  Float_t eTXb[10000]; // Slope X position of basetrack
66  Float_t eTYb[10000]; // Slope Y position of basetrack
67  Float_t eChi2b[10000]; // Chi2 of basetrack
68  Float_t ePb[10000]; // P of basetrack
69  Int_t eWb[10000]; // W of basetrack
70  Int_t eFlagb[10000]; // Flag of basetrack
71  Int_t eNFilmb[10000]; // Plate number of basetrack in the shower reference
72  Float_t eDeltarb[10000]; // Distance criteria of basetrack
73  Float_t eDeltathetab[10000]; // Angular criteria of basetrack
74  Int_t eTagPrimary[10000]; // 1 for first Basetrack - 0 for the other
75  Int_t emcDigitIndexTop[1000]; // mc top digit index of basetrack
76  Int_t emcDigitIndexBottom[1000]; // mc bottom digit index of basetrack
77 
78  Int_t eSize; // number of BT in the shower
79  Int_t eSize15; // number of BT in the shower (for 15 films crossed)
80  Int_t eSize20; // number of BT in the shower (for 20 films crossed)
81  Int_t eSize30; // number of BT in the shower (for 30 films crossed)
82 
83  Float_t eOutput; // Neural Network output for e/pi separation
84  Float_t eOutput15; // Neural Network output for e/pi separation (for 15 films crossed)
85  Float_t eOutput20; // Neural Network output for e/pi separation (for 20 films crossed)
86  Float_t eOutput30; // Neural Network output for e/pi separation (for 30 films crossed)
87 
88 
89 
92 
93  // Variables used for naming the files to read/write the specified
94  // data structures or specified objects.
95  // Read:
97 
98 
99  // EdbPVRec object:
103  Int_t eAliNpat;
105  Int_t eAliNpatM1;
107 
108  Bool_t eAliLoaded;
109  Bool_t eUseAliSub;
110 
111 
112  // TObjArray storing Initiator Basetracks:
113  // May be real BTs (from linked_tracks) or virtual
114  // ones (just positions).
115  TObjArray* eInBTArray;
116  Int_t eInBTArrayN;
119 
120  // TObjArray storing reconstructed showers (objects of EdbTrackP class):
121  TObjArray* eRecoShowerArray;
123 
124 
125 
126 
127 
128 
129  //----------------------------------------------------------------
130 
131  Float_t eEnergyCorrectedb; // Neural Network output for Corrected Energy
132  Float_t eEnergyUnCorrectedb; // Neural Network output for UnCorrected Energy
133  Float_t eEnergySigmaCorrectedb; // Neural Network output for Corrected Energy Sigma
134  Float_t eEnergySigmaUnCorrectedb; // Neural Network output for UnCorrected Energy Sigma
136 
142 
143  Bool_t eShowerTreeIsDone; // ShowerReconstruction already done or not
144  Bool_t eDoEnergyCalculation; // EnergyEstimation to do or not.
145  Bool_t eEnergyIsDone; // EnergyEstimation already done or not
146 // TMultiLayerPerceptron* eEnergyANN[9]; // Container for the ANNs trained on different
147  // shower length ("nfilmb");
148  TObjArray* eEnergyANN; // Container for the ANNs trained on different
149  TMultiLayerPerceptron* eEANN();// shower length ("nfilmb");
150 
151 
152  TString* eEnergyWeightFileString[9]; // Container for the weightfiles trained on different
153  // shower length ("nfilmb");
155  Double_t inANN[70];
157 
158  Int_t eShowersN; // Number how many showers have been reconstructed.
159 
160 public:
161 
163  EdbShowerRec(TObjArray* InBTArray, int num,int MAXPLATE, int DATA, int piece2, int piece2par,int DOWN,EdbPVRec *pvr);
164  EdbShowerRec(EdbPVRec *pvr);
165 
166  EdbShowerRec(EdbPVRec *pvr, Int_t OptionType);
167 
168  virtual ~EdbShowerRec();
169 
170 //definition of treebranch
171  Int_t number_eventb; // MC number of the shower
172  Int_t sizeb15; // sizeb15: basetracks within the first 15 plates
173  Int_t sizeb20; // sizeb20: basetracks within the first 20 plates
174  Int_t sizeb30; // sizeb30: basetracks within the first 30 plates
175  Float_t output15; // old neural net variables for e/pi separation
176  Float_t output20; // old neural net variables for e/pi separation
177  Float_t output30; // old neural net variables for e/pi separation
178  Float_t output50; // old neural net variables for e/pi separation
179  Float_t E_MC; // energy of the first starting basetrack
180 
181 
182  Int_t sizeb; // number of basetracks
183  Int_t isizeb; // ??? forgot what it was ???
184  Int_t showerID; // ??? forgot what it was ???
185  Int_t idb[10000]; // ??? forgot what it was ???
186  Int_t plateb[10000]; // plate id of segment i
187  Float_t xb[10000]; // position of segment i
188  Float_t yb[10000]; // position of segment i
189  Float_t zb[10000]; // position of segment i
190  Float_t txb[10000]; // position of segment i
191  Float_t tyb[10000]; // position of segment i
192  Int_t nfilmb[10000]; // plate position of segment i w.r.t. starting segment.
193  Int_t ngrainb[10000];
194  Int_t ntrace1simub[10000];
195  Int_t ntrace2simub[10000];
196  Float_t ntrace3simub[10000];
197  Int_t ntrace4simub[10000];
198  Float_t chi2btkb[10000];
199  Float_t deltarb[10000];
200  Float_t deltathetab[10000];
201  Float_t deltaxb[10000];
202  Float_t deltayb[10000];
203  Float_t tagprimary[10000];
204  Int_t mcDigitIndexTop[1000];
205  Int_t mcDigitIndexBottom[1000];
206 
211 
212  Float_t purityb; // purity of the shower (MC info needed).
213  Float_t trackdensb; // Track density _around_ the shower (BT/mm2) (using eAli_Sub_halfsize).
214 
215  Int_t eProb90;
216  Int_t eProb1;
217 
218  TFile *fileout;
219  TTree *treesaveb;
220  TFile *file;
221 
222  TFile *fileout2;
223  TTree *treesaveb2;
224 
225  TFile *fileout3;
226  TTree *treesaveb3;
228 
232 
233  TTree *varia ;
234 
237 
238  Double_t bin1, bin2, bin3, bin4, bin5, bin6, bin7, bin8, bin9, bin10;
244  Int_t type;
245 
246  TMultiLayerPerceptron *mlp1;
247  TMultiLayerPerceptron *mlp2;
248  TMultiLayerPerceptron *mlp3;
249  TMultiLayerPerceptron *mlp4;
250 
251  char cmd[500];
252 
253  inline Int_t GetN() const {
254  return eShowersN;
255  }
256 
257  Int_t GetID() const {
258  return eID;
259  }
260  Float_t GetX0() const {
261  return eX0;
262  }
263  Float_t GetY0() const {
264  return eY0;
265  }
266  Float_t GetZ0() const {
267  return eZ0;
268  }
269  Float_t GetChi20() const {
270  return eChi20;
271  }
272  Int_t GetW0() const {
273  return eW0;
274  }
275  Float_t GetP0() const {
276  return eP0;
277  }
278  Int_t GetFlag0() const {
279  return eFlag0;
280  }
281  Float_t GetTx() const {
282  return eTx;
283  }
284  Float_t GetTy() const {
285  return eTy;
286  }
287  Float_t GetDz() const {
288  return eDz;
289  }
290  Int_t GetL() const {
291  return eL;
292  }
293  Int_t GetTrID() const {
294  return eTrID;
295  }
296 
297  Int_t GetSize() const {
298  return eSize;
299  }
300  Int_t GetSize15() const {
301  return eSize15;
302  }
303  Int_t GetSize20() const {
304  return eSize20;
305  }
306  Int_t GetSize30() const {
307  return eSize30;
308  }
309  Int_t GetPlateb(int i) const {
310  return ePlateb[i];
311  }
312  Int_t GetIDb(int i) const {
313  return eIDb[i];
314  }
315 
316  Float_t GetXb(int i) const {
317  return eXb[i];
318  }
319  Float_t GetYb(int i) const {
320  return eYb[i];
321  }
322  Float_t GetZb(int i) const {
323  return eZb[i];
324  }
325  Float_t GetTXb(int i) const {
326  return eTXb[i];
327  }
328  Float_t GetTYb(int i) const {
329  return eTYb[i];
330  }
331  Float_t GetChi2b(int i) const {
332  return eChi2b[i];
333  }
334  Int_t GetWb(int i) const {
335  return eWb[i];
336  }
337  Float_t GetPb(int i) const {
338  return ePb[i];
339  }
340  Int_t GetFlagb(int i) const {
341  return eFlagb[i];
342  }
343  Int_t GetNFilmb(int i) const {
344  return eNFilmb[i];
345  }
346  Float_t GetDeltarb(int i) const {
347  return eDeltarb[i];
348  }
349  Float_t GetDeltathetab(int i) const {
350  return eDeltathetab[i];
351  }
352  Int_t GetTagPrimaryb(int i) const {
353  return eTagPrimary[i];
354  }
355 
356 
357  Float_t GetOutput() const {
358  return eOutput;
359  }
360  Float_t GetOutput15() const {
361  return eOutput15;
362  }
363  Float_t GetOutput20() const {
364  return eOutput20;
365  }
366  Float_t GetOutput30() const {
367  return eOutput30;
368  }
369 
370  Float_t GetEnergy() const {
371  return eEnergyCorrectedb;
372  }
373  Float_t GetEnergyUn() const {
374  return eEnergyUnCorrectedb;
375  }
376  Float_t GetEnergySigma() const {
377  return eEnergySigmaCorrectedb;
378  }
379  Float_t GetEnergyUnSigma() const {
381  }
382  Float_t GetmcDigitIndexTop(int i) const {
383  return emcDigitIndexTop[i];
384  }
385  Float_t GetmcDigitIndexBottom(int i) const {
386  return emcDigitIndexBottom[i];
387  }
388  void SetID(int id) {
389  eID = id;
390  }
391 
392  void SetX0( float x ) {
393  eX0 = x;
394  }
395  void SetY0( float y ) {
396  eY0 = y;
397  }
398  void SetZ0( float z ) {
399  eZ0 = z;
400  }
401  void SetChi20(float chi2) {
402  eChi20=chi2;
403  }
404  void SetW0(int w) {
405  eW0=w;
406  }
407  void SetP0(float p) {
408  eP0=p;
409  }
410  void SetFlag0(int flag) {
411  eFlag0=flag;
412  }
413  void SetmcDigitIndexTop0(int mcDt) {
414  emcDigitIndexTop0=mcDt;
415  }
416  void SetmcDigitIndexBottom0(int mcDb) {
418  }
419  void SetTx( float tx ) {
420  eTx = tx;
421  }
422  void SetTy( float ty ) {
423  eTy = ty;
424  }
425  void SetTrID( int id ) {
426  eTrID = id;
427  }
428 
429  void SetSize( int size ) {
430  eSize = size;
431  }
432  void SetSize15( int size ) {
433  eSize15 = size;
434  }
435  void SetSize20( int size ) {
436  eSize20 = size;
437  }
438  void SetSize30( int size ) {
439  eSize30 = size;
440  }
441 
442  void SetDz( float dz ) {
443  eDz = dz;
444  }
445  void SetL( int L ) {
446  eL = L;
447  }
448 
449  void SetOutput( float output ) {
450  eOutput = output;
451  }
452  void SetOutput15( float output ) {
453  eOutput15= output;
454  }
455  void SetOutput20( float output ) {
456  eOutput20 = output;
457  }
458  void SetOutput30( float output ) {
459  eOutput30 = output;
460  }
461 
462  void SetXb(float xb, int i) {
463  eXb[i]= xb;
464  }
465  void SetIDb(int idb2, int i) {
466  eIDb[i] = idb2;
467  }
468  void SetPlateb(int plate2, int i) {
469  ePlateb[i] = plate2;
470  }
471  void SetYb(float yb, int i) {
472  eYb[i]= yb;
473  }
474  void SetZb(float zb, int i) {
475  eZb[i]= zb;
476  }
477  void SetTXb(float txb, int i) {
478  eTXb[i]= txb;
479  }
480  void SetTYb(float tyb, int i) {
481  eTYb[i]= tyb;
482  }
483  void SetChi2b(float chi2b, int i) {
484  eChi2b[i]= chi2b;
485  }
486  void SetWb(int w, int i) {
487  eWb[i]= w;
488  }
489  void SetPb(float p, int i) {
490  ePb[i]= p;
491  }
492  void SetFlagb(int flag, int i) {
493  eFlagb[i]= flag;
494  }
495  void SetNFilmb(int nfilmb, int i) {
496  eNFilmb[i]= nfilmb;
497  }
498  void SetDeltarb(float deltarb, int i) {
499  eDeltarb[i]= deltarb;
500  }
501  void SetDelthetab(float deltathetab, int i) {
503  }
504  void SetPrimary(int tagprimary, int i) {
506  }
507  void SetmcDigitIndexTop(int mcDt, int i) {
508  emcDigitIndexTop[i]= mcDt;
509  }
510  void SetmcDigitIndexBottom(int mcDb, int i) {
511  emcDigitIndexBottom[i]= mcDb;
512  }
513 
514  void InitPiece(EdbDataPiece &piece, const char *cpfile, const char *parfile);
515  int ReadPiece(EdbDataPiece &piece, EdbPattern &pat);
516 // int FindPredictions(EdbPattern &pred, const char *cpfile, const char *parfile, EdbPattern &found);
517  /*
518  void rec(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *TRid, int piece2, int piece2par, int DOWN, float Rcut, float Tcut);
519  void recdown(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *TRid, int piece2, int piece2par, float Rcut, float Tcut);
520  void recup(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *TRid, int piece2, int piece2par,float Rcut, float Tcut);
521  */
522 
524  // void rec(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *plate0, int *id0, int *TRid, double *Esim, int piece2, int piece2par, int DOWN);
525  // void recdown(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *plate0, int *id0, int *TRid, double *Esim, int piece2, int piece2par);
526  // void recup(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *plate0, int *id0, int *TRid, double *Esim, int piece2, int piece2par);
528  void rec(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop, int *mcDigitIndexBottom, int piece2, int piece2par, int DOWN,EdbPVRec *pvr);
529  void rec(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, double* chi20, int* W0, double* P0, int* Flag0, int *plate0, int *id0, int *TRid, double *Esim,int piece2, int piece2par,int DOWN,EdbPVRec *pvr);
530 
531  void recdown(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, double* chi20, int* W0, double* P0,int* Flag0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop0, int *mcDigitIndexBottom0, int piece2, int piece2par,EdbPVRec *pvr);
532  void recup(int num,int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, double* chi20, int* W0, double* P0,int* Flag0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop0, int *mcDigitIndexBottom0, int piece2, int piece2par,EdbPVRec *pvr);
533 
534 
535  void rec(TObjArray *sarr, EdbPVRec *pvr);
536 
537 
538 
539  // void remove(char *shfname, char *def,float Rcut, float Tcut);
540  // void vert(const char *name2,const char *def,float Rcut, float Tcut);
541  void remove(char *shfname, char *def,int MAXPLATE, int piece2par);
542  void vert(const char *name2,const char *def,int MAXPLATE, int piece2par);
543 
544  void SaveResults();
545  void initproc( const char *def, int iopt, const char *rcut);
546  void ReadAffAndZ( char *fname, Float_t *pZoffs, Float_t *a11, Float_t *a12, Float_t *a21, Float_t *a22, Float_t *b1, Float_t *b2);
547  void NeuralNet() ;
548  int SaveLNK();
549  TObjArray* ShowerToEdbSegPArray();
550 
551  //-------------------------------
552  // To estimate the energy values, either
553  // after(!) the reconstruction was done, or
554  // we have an already reconstructed shower file.
555  void SetDoEnergyCalculation(Bool_t DoEnergyCalculation) {
556  eDoEnergyCalculation=DoEnergyCalculation;
557  }
558  void CalculateEnergyValues();
560  void Energy_CreateANNTree();
561  Float_t Energy_CorrectEnergy(Float_t MeasuredEnergy, Int_t NPlatesNr);
563  Float_t Energy_CalcSigma(Float_t Energy, Int_t NPlatesNr);
564  void LoadShowerFile(TString ShowerFileName);
565 
567  return eHistEnergyNominal;
568  }
570  return eHistEnergyCorrectedb;
571  }
574  }
577  }
580  }
581 
582 
589 
590 
592  return histo_longprofile_av;
593  }
595  return histo_nbtk_av;
596  }
598  return histo_deltaR_mean;
599  }
601  return histo_deltaT_mean;
602  }
604  return histo_deltaR_rms;
605  }
607  return histo_deltaT_rms;
608  }
609 
610 
611 
612 
613  //-------------------------------
614  // NEW FUNCTIONS ADDED BY FWM (not related to energy);
615  //-------------------------------
616  void PrintInitiatorBTs();
617  int AddInitiatorBT(EdbSegP* seg);
618 
619  Float_t* GetEnergyValues(Int_t TreeEntry);
620  Float_t* GetShowerValues(Int_t TreeEntry);
621  Int_t GetTreeBranchEntryNr(EdbSegP* seg);
622 
623 
624  // Inline Set Functions:
625  inline void SetUseAliSub(Bool_t UseAliSub) {
626  eUseAliSub=UseAliSub;
627  }
628 
629  inline void SetEdbPVRec( EdbPVRec* Ali ) {
630  eAli = Ali;
634  eAliLoaded=kTRUE;
635  }
636  inline void SetInBTArray( TObjArray* InBTArray ) {
637  eInBTArray = InBTArray;
638  eInBTArrayN=eInBTArray->GetEntries();
639  if (eInBTArrayN>0) {
640  eInBTArrayIsFilled=kTRUE;
641  }
642  }
643 
644  inline void SetInBTArrayN(Int_t InBTArrayN) {
645  eInBTArrayN = InBTArrayN;
646  }
647 
648  inline void SetInBTArray( EdbSegP* InBT) {
649  // check if eInBTArray was created, if not do it now.:
650  if (!eInBTArray) eInBTArray=new TObjArray();
651  eInBTArray->Clear();
652  eInBTArray->Add(InBT);
653  eInBTArrayN=eInBTArray->GetEntries();
654  if (eInBTArrayN>0) {
655  eInBTArrayIsFilled=kTRUE;
656  }
657  }
658 
659  void SetInBTArray( EdbPVRec* Ali, Int_t mode=0 );
660 
661  inline void SetRecoShowerArrayN(Int_t RecoShowerArrayN) {
662  eRecoShowerArrayN = RecoShowerArrayN;
663  }
664  inline void SetRecoShowerArray(TObjArray* RecoShowerArray) {
666  }
667 
668  void SetAlgoParameter(Double_t paravalue, Int_t paranr);
669  void ResetAlgoParameters();
670  inline void SetQualityCutValues(Double_t p0, Double_t p1) {
671  eQualityPar[0]=p0;
672  eQualityPar[1]=p1;
673  eUseQualityPar=kTRUE;
674  }
675 
676 
677  // Inline Get Functions:
678  inline Bool_t GetUseAliSub() {
679  return eUseAliSub;
680  }
681  inline EdbPVRec* GetEdbPVRec( ) const {
682  return eAli;
683  }
684  inline Int_t GetEdbPVRecNpat() const {
685  return eAliNpat;
686  }
687  inline Int_t GetEdbPVRecNplateNumber() const {
688  return eNumberPlate_eAliPID;
689  }
690  inline Bool_t GetAliLoaded() const {
691  return eAliLoaded;
692  }
693  inline EdbPVRec* GetEdbPVRecSub( ) const {
694  return eAli_Sub;
695  }
696 
697 
698  inline TObjArray* GetInBTArray( ) const {
699  return eInBTArray;
700  }
701  inline EdbSegP* GetInBT(Int_t i) const {
702  return (EdbSegP*)eInBTArray->At(i);
703  }
704  inline TObjArray* GetRecoShowerArray( ) const {
705  return eRecoShowerArray;
706  }
707 
708  inline Int_t GetInBTArrayN() const {
709  return eInBTArrayN;
710  }
711  inline Int_t GetRecoShowerArrayN() const {
712  return eRecoShowerArrayN;
713  }
714 
715 
716  Double_t GetAlgoParameter(Int_t paranr);
717 
718  // Inline Reset Functions:
719  inline void ResetInBTArray() {
721  eInBTArrayN = 0;
722  }
723  inline void ResetRecoShowerArray() {
725  eRecoShowerArrayN = 0;
726  }
727 
728 
729 
730 
731  // Function to fill the eInBTArray if it is not already done (in Constructor or by SetInBTArray())
733 
734  void ClearInBTArray();
735  void ClearRecoShowerArray();
736 
737  // Function for EdbPVRec Object for analysis use.
738  void LoadEdbPVRec();
739  void Transform_eAli( EdbSegP* InitiatorBT, Float_t ExtractSize );
740  void CalcTrackDensity(EdbPattern* pat_interim,Int_t pat_interim_halfsize,Int_t& npat_int,Int_t& npat_total,Int_t& npatN);
741  Float_t GetEdbPVRecNSeg(EdbPVRec* ali, Int_t mode);
743 
744  // Print:
745  inline void PrintEdbPVRec() const {
746  eAli->Print();
747  };
748  void PrintRecoShowerArray();
749  void PrintParameters();
750 
751  // "Other Functions"
753  Double_t DeltaR_WithPropagation(EdbSegP* s,EdbSegP* stest);
754  Double_t DeltaR_WithoutPropagation(EdbSegP* s,EdbSegP* stest);
755  Bool_t FindPrecedingBTs(EdbSegP* s, EdbSegP* InBT, EdbPVRec *gAli, EdbTrackP* shower);
756  Bool_t IsInConeTube(EdbSegP* TestingSegment, EdbSegP* StartingSegment, Double_t CylinderRadius, Double_t ConeAngle);
757  Double_t InvariantMass(EdbSegP* s1, EdbSegP* s2, Double_t Momentum1=-1, Double_t Momentum2=-1, Double_t ID1=22, Double_t ID2=22);
758 
759  // Execute -- the reconstruction function:
760  void Execute();
761 
762  // Execute -- Transfer ShowerObjectArray into Treebrach Tree;
764 
765  // Execute -- Transfer Treebrach Tree into ShowerObjectArray ;
767 
768  // Standard Print Function:
769  void Print();
770  // Standard Help Function:
771  void Help();
772  // Standard Reset Function:
773  void Set0();
774  // Standard Init Function:
775  void Init();
776 
777  ClassDef(EdbShowerRec,3)
778 };
779 #endif /* ROOT_EdbShowerRec */
brick z0
Definition: RecDispMC.C:106
brick dz
Definition: RecDispMC.C:107
TObjArray * RecoShowerArray
Definition: Shower_E_FromShowerRoot.C:12
EdbPVRec * ali
Definition: align.C:1
Definition: EdbDataSet.h:25
Definition: EdbDataSet.h:180
Definition: EdbPVRec.h:148
Definition: EdbPattern.h:280
Int_t Npatterns() const
Definition: EdbPattern.h:380
void Print() const
Definition: EdbPattern.cxx:1853
Definition: EdbSegP.h:18
Definition: EdbShowerRec.h:25
Int_t ntrace2simub[10000]
Definition: EdbShowerRec.h:195
Double_t eQualityPar[2]
Definition: EdbShowerRec.h:38
void InitPiece(EdbDataPiece &piece, const char *cpfile, const char *parfile)
Definition: EdbShowerRec.cxx:261
void SetInBTArray(EdbSegP *InBT)
Definition: EdbShowerRec.h:648
Int_t GetL() const
Definition: EdbShowerRec.h:290
void CalculateEnergyValues()
Definition: EdbShowerRec.cxx:2448
Float_t tagprimary[10000]
Definition: EdbShowerRec.h:203
Float_t ntrace3simub[10000]
Definition: EdbShowerRec.h:196
void SetIDb(int idb2, int i)
Definition: EdbShowerRec.h:465
Int_t sizeb30
Definition: EdbShowerRec.h:174
Int_t ntrace4simub[10000]
Definition: EdbShowerRec.h:197
Int_t emcDigitIndexTop0
Definition: EdbShowerRec.h:54
Float_t yb[10000]
Definition: EdbShowerRec.h:188
Float_t output30
Definition: EdbShowerRec.h:177
Double_t bin57
Definition: EdbShowerRec.h:243
int ReadPiece(EdbDataPiece &piece, EdbPattern &pat)
Definition: EdbShowerRec.cxx:1903
TTree * varia
Definition: EdbShowerRec.h:233
Float_t GetChi2b(int i) const
Definition: EdbShowerRec.h:331
Double_t bin60
Definition: EdbShowerRec.h:243
TFile * file
Definition: EdbShowerRec.h:220
void SetEdbPVRec(EdbPVRec *Ali)
Definition: EdbShowerRec.h:629
void PrintEdbPVRec() const
Definition: EdbShowerRec.h:745
TH1D * GetHistdeltaT_mean()
Definition: EdbShowerRec.h:600
Double_t bin23
Definition: EdbShowerRec.h:240
void ClearInBTArray()
Definition: EdbShowerRec.cxx:4268
Int_t emcDigitIndexBottom[1000]
Definition: EdbShowerRec.h:76
Int_t sizeb15
Definition: EdbShowerRec.h:172
TObjArray * eInBTArray
Definition: EdbShowerRec.h:115
Float_t GetEnergy() const
Definition: EdbShowerRec.h:370
virtual ~EdbShowerRec()
Definition: EdbShowerRec.cxx:196
void SetAlgoParameter(Double_t paravalue, Int_t paranr)
Definition: EdbShowerRec.cxx:4816
Double_t eAlgoParameterConeRadius
Definition: EdbShowerRec.h:29
Int_t GetNFilmb(int i) const
Definition: EdbShowerRec.h:343
void LoadEdbPVRec()
Definition: EdbShowerRec.cxx:3687
Float_t Energy_CalcSigma(Float_t Energy, Int_t NPlatesNr)
Definition: EdbShowerRec.cxx:3005
Int_t eRecoShowerArrayN
Definition: EdbShowerRec.h:122
Int_t eIDb[10000]
Definition: EdbShowerRec.h:60
TH1F * GetHistEnergyNominal()
Definition: EdbShowerRec.h:566
TH1D * histo_nbtk_av
Definition: EdbShowerRec.h:583
void SetZ0(float z)
Definition: EdbShowerRec.h:398
Int_t eFlag0
Definition: EdbShowerRec.h:53
EdbPVRec * GetEdbPVRecSub() const
Definition: EdbShowerRec.h:693
Int_t GetSize30() const
Definition: EdbShowerRec.h:306
Int_t showerID
Definition: EdbShowerRec.h:184
void SetInBTArrayN(Int_t InBTArrayN)
Definition: EdbShowerRec.h:644
Float_t eTx
Definition: EdbShowerRec.h:47
Int_t GetSize15() const
Definition: EdbShowerRec.h:300
Double_t bin5
Definition: EdbShowerRec.h:238
Double_t bin59
Definition: EdbShowerRec.h:243
void PrintParameters()
Definition: EdbShowerRec.cxx:4844
Float_t eZb[10000]
Definition: EdbShowerRec.h:64
Float_t xb[10000]
Definition: EdbShowerRec.h:187
void Transform_eAli(EdbSegP *InitiatorBT, Float_t ExtractSize)
Definition: EdbShowerRec.cxx:3722
Double_t bin22
Definition: EdbShowerRec.h:240
TObjArray * GetInBTArray() const
Definition: EdbShowerRec.h:698
void SetmcDigitIndexTop(int mcDt, int i)
Definition: EdbShowerRec.h:507
Int_t eWb[10000]
Definition: EdbShowerRec.h:69
TFile * fileout2
Definition: EdbShowerRec.h:222
void SetXb(float xb, int i)
Definition: EdbShowerRec.h:462
TH1D * histo_deltaT_rms
Definition: EdbShowerRec.h:588
TString * eEnergyWeightFileString[9]
Definition: EdbShowerRec.h:152
Double_t bin52
Definition: EdbShowerRec.h:243
Double_t bin35
Definition: EdbShowerRec.h:241
Float_t GetEdbPVRecNSeg(EdbPVRec *ali, Int_t mode)
Definition: EdbShowerRec.cxx:3860
Double_t bin49
Definition: EdbShowerRec.h:242
void SetPlateb(int plate2, int i)
Definition: EdbShowerRec.h:468
Float_t output50
Definition: EdbShowerRec.h:178
Int_t eProb1
Definition: EdbShowerRec.h:216
Double_t bin32
Definition: EdbShowerRec.h:241
Float_t GetZ0() const
Definition: EdbShowerRec.h:266
void SetQualityCutValues(Double_t p0, Double_t p1)
Definition: EdbShowerRec.h:670
void SetChi20(float chi2)
Definition: EdbShowerRec.h:401
Float_t chi2btkb[10000]
Definition: EdbShowerRec.h:198
Double_t bin12
Definition: EdbShowerRec.h:239
Int_t GetSize20() const
Definition: EdbShowerRec.h:303
void SetFlag0(int flag)
Definition: EdbShowerRec.h:410
Float_t GetZb(int i) const
Definition: EdbShowerRec.h:322
Double_t bin2
Definition: EdbShowerRec.h:238
Double_t bin44
Definition: EdbShowerRec.h:242
Float_t GetTXb(int i) const
Definition: EdbShowerRec.h:325
Float_t GetDeltarb(int i) const
Definition: EdbShowerRec.h:346
EdbPVRec * gAli
Definition: EdbShowerRec.h:227
Bool_t eInBTArrayLoaded
Definition: EdbShowerRec.h:117
void SetRecoShowerArray(TObjArray *RecoShowerArray)
Definition: EdbShowerRec.h:664
Double_t bin4
Definition: EdbShowerRec.h:238
Float_t GetTx() const
Definition: EdbShowerRec.h:281
void SetTx(float tx)
Definition: EdbShowerRec.h:419
Float_t GetmcDigitIndexTop(int i) const
Definition: EdbShowerRec.h:382
Bool_t eShowerTreeIsDone
Definition: EdbShowerRec.h:143
Float_t eP0
Definition: EdbShowerRec.h:52
Bool_t eAliLoaded
Definition: EdbShowerRec.h:108
Float_t GetP0() const
Definition: EdbShowerRec.h:275
Float_t eAli_Sub_halfsize
Definition: EdbShowerRec.h:102
Bool_t eInBTArrayIsFilled
Definition: EdbShowerRec.h:91
Int_t eProb90
Definition: EdbShowerRec.h:215
int SaveLNK()
Definition: EdbShowerRec.cxx:3099
Double_t bin45
Definition: EdbShowerRec.h:242
Int_t mcDigitIndexBottom[1000]
Definition: EdbShowerRec.h:205
void SetY0(float y)
Definition: EdbShowerRec.h:395
TH1F * GetHistEnergySigmaCorrectedb()
Definition: EdbShowerRec.h:575
void SetPrimary(int tagprimary, int i)
Definition: EdbShowerRec.h:504
void SetYb(float yb, int i)
Definition: EdbShowerRec.h:471
char cmd[500]
Definition: EdbShowerRec.h:251
TMultiLayerPerceptron * mlp1
Definition: EdbShowerRec.h:246
Int_t GetID() const
Definition: EdbShowerRec.h:257
Bool_t GetUseAliSub()
Definition: EdbShowerRec.h:678
Double_t bin54
Definition: EdbShowerRec.h:243
Int_t number_eventb
Definition: EdbShowerRec.h:171
void CalcTrackDensity(EdbPattern *pat_interim, Int_t pat_interim_halfsize, Int_t &npat_int, Int_t &npat_total, Int_t &npatN)
Definition: EdbShowerRec.cxx:4856
void SetX0(float x)
Definition: EdbShowerRec.h:392
TF1 * eEnergyResolutionFitFunction_All
Definition: EdbShowerRec.h:156
Int_t eL
Definition: EdbShowerRec.h:58
void PrintInitiatorBTs()
Definition: EdbShowerRec.cxx:2422
void SetZb(float zb, int i)
Definition: EdbShowerRec.h:474
Int_t GetFlagb(int i) const
Definition: EdbShowerRec.h:340
Float_t GetXb(int i) const
Definition: EdbShowerRec.h:316
Int_t eAli_SubNpat
Definition: EdbShowerRec.h:104
Float_t eYb[10000]
Definition: EdbShowerRec.h:63
Double_t bin41
Definition: EdbShowerRec.h:242
Float_t purityb
Definition: EdbShowerRec.h:212
TObjArray * GetRecoShowerArray() const
Definition: EdbShowerRec.h:704
void LoadShowerFile(TString ShowerFileName)
Definition: EdbShowerRec.cxx:2489
EdbPVRec * eAli_Sub
Definition: EdbShowerRec.h:101
void SetmcDigitIndexBottom0(int mcDb)
Definition: EdbShowerRec.h:416
Int_t GetW0() const
Definition: EdbShowerRec.h:272
Int_t GetN() const
Definition: EdbShowerRec.h:253
Double_t bin50
Definition: EdbShowerRec.h:242
Float_t trackdensb
Definition: EdbShowerRec.h:213
void Set0()
Definition: EdbShowerRec.cxx:228
void Print()
Definition: EdbShowerRec.cxx:4939
Double_t bin28
Definition: EdbShowerRec.h:240
TMultiLayerPerceptron * mlp4
Definition: EdbShowerRec.h:249
TFile * fileout3
Definition: EdbShowerRec.h:225
TH1F * GetHistEnergyUnCorrectedb()
Definition: EdbShowerRec.h:572
void Energy_CreateANNTree()
Definition: EdbShowerRec.cxx:3025
Double_t GetAlgoParameter(Int_t paranr)
Definition: EdbShowerRec.cxx:4830
Float_t eEnergyCorrectedb
Definition: EdbShowerRec.h:131
Int_t ngrainb[10000]
Definition: EdbShowerRec.h:193
Bool_t IsInConeTube(EdbSegP *TestingSegment, EdbSegP *StartingSegment, Double_t CylinderRadius, Double_t ConeAngle)
Definition: EdbShowerRec.cxx:3534
Double_t bin29
Definition: EdbShowerRec.h:240
void Help()
Definition: EdbShowerRec.cxx:4907
int AddInitiatorBT(EdbSegP *seg)
Definition: EdbShowerRec.cxx:2400
Int_t GetIDb(int i) const
Definition: EdbShowerRec.h:312
Float_t GetOutput15() const
Definition: EdbShowerRec.h:360
void SetmcDigitIndexBottom(int mcDb, int i)
Definition: EdbShowerRec.h:510
Int_t sizeb20
Definition: EdbShowerRec.h:173
TMultiLayerPerceptron * mlp3
Definition: EdbShowerRec.h:248
Int_t eW0
Definition: EdbShowerRec.h:51
TH1F * eHistEnergyCorrectedb
Definition: EdbShowerRec.h:138
Bool_t eDoEnergyCalculation
Definition: EdbShowerRec.h:144
Float_t GetY0() const
Definition: EdbShowerRec.h:263
Float_t output15
Definition: EdbShowerRec.h:175
Int_t eTagPrimary[10000]
Definition: EdbShowerRec.h:74
Int_t isizeb
Definition: EdbShowerRec.h:183
void SetOutput(float output)
Definition: EdbShowerRec.h:449
Int_t eSize30
Definition: EdbShowerRec.h:81
Float_t eTy
Definition: EdbShowerRec.h:48
TH1F * eHistEnergySigmaCorrectedb
Definition: EdbShowerRec.h:140
Float_t GetDeltathetab(int i) const
Definition: EdbShowerRec.h:349
Double_t bin20
Definition: EdbShowerRec.h:239
Int_t eNFilmb[10000]
Definition: EdbShowerRec.h:71
Float_t GetTy() const
Definition: EdbShowerRec.h:284
TH1F * eHistEnergySigmaUnCorrectedb
Definition: EdbShowerRec.h:141
Double_t DeltaR_WithPropagation(EdbSegP *s, EdbSegP *stest)
Definition: EdbShowerRec.cxx:3509
TH1D * histo_longprofile_av
Definition: EdbShowerRec.h:584
TH1D * GetHistLongProfile()
Definition: EdbShowerRec.h:591
Double_t bin25
Definition: EdbShowerRec.h:240
Float_t GetDz() const
Definition: EdbShowerRec.h:287
void SetDoEnergyCalculation(Bool_t DoEnergyCalculation)
Definition: EdbShowerRec.h:555
void SetOutput15(float output)
Definition: EdbShowerRec.h:452
Float_t GetEnergyUn() const
Definition: EdbShowerRec.h:373
TString eFilename_LinkedTracks
Definition: EdbShowerRec.h:96
Double_t InvariantMass(EdbSegP *s1, EdbSegP *s2, Double_t Momentum1=-1, Double_t Momentum2=-1, Double_t ID1=22, Double_t ID2=22)
Definition: EdbShowerRec.cxx:4876
Float_t eOutput30
Definition: EdbShowerRec.h:86
void PrintRecoShowerArray()
Definition: EdbShowerRec.cxx:3475
Double_t bin58
Definition: EdbShowerRec.h:243
void SetOutput20(float output)
Definition: EdbShowerRec.h:455
Double_t bin30
Definition: EdbShowerRec.h:240
Double_t bin47
Definition: EdbShowerRec.h:242
Int_t eAlgoParameterNPropagation
Definition: EdbShowerRec.h:35
Float_t Energy_CorrectEnergy(Float_t MeasuredEnergy, Int_t NPlatesNr)
Definition: EdbShowerRec.cxx:2946
Int_t ePlateb[10000]
Definition: EdbShowerRec.h:61
void Init()
Definition: EdbShowerRec.cxx:207
Float_t GetOutput20() const
Definition: EdbShowerRec.h:363
Int_t GetEdbPVRecNplateNumber() const
Definition: EdbShowerRec.h:687
Double_t bin26
Definition: EdbShowerRec.h:240
Int_t mcDigitIndexTop[1000]
Definition: EdbShowerRec.h:204
Double_t bin53
Definition: EdbShowerRec.h:243
Double_t bin21
Definition: EdbShowerRec.h:240
void ClearRecoShowerArray()
Definition: EdbShowerRec.cxx:4273
Float_t output20
Definition: EdbShowerRec.h:176
EdbPVRec * GetEdbPVRec() const
Definition: EdbShowerRec.h:681
Float_t * GetShowerValues(Int_t TreeEntry)
Definition: EdbShowerRec.cxx:3413
void vert(const char *name2, const char *def, int MAXPLATE, int piece2par)
Definition: EdbShowerRec.cxx:1488
Int_t eInBTArrayMaxSize
Definition: EdbShowerRec.h:118
Float_t energy_shot_particle
Definition: EdbShowerRec.h:135
Float_t eEnergySigmaUnCorrectedb
Definition: EdbShowerRec.h:134
void SetDelthetab(float deltathetab, int i)
Definition: EdbShowerRec.h:501
Float_t GetOutput30() const
Definition: EdbShowerRec.h:366
Float_t deltathetab[10000]
Definition: EdbShowerRec.h:200
Float_t eDeltathetab[10000]
Definition: EdbShowerRec.h:73
Double_t bin46
Definition: EdbShowerRec.h:242
TH1D * GetHistdeltaR_mean()
Definition: EdbShowerRec.h:597
Float_t * GetEnergyValues(Int_t TreeEntry)
Definition: EdbShowerRec.cxx:3358
Int_t GetSize() const
Definition: EdbShowerRec.h:297
void SetW0(int w)
Definition: EdbShowerRec.h:404
TObjArray * eRecoShowerArray
Definition: EdbShowerRec.h:121
Int_t GetEdbPVRecNpat() const
Definition: EdbShowerRec.h:684
Double_t bin13
Definition: EdbShowerRec.h:239
Float_t ePb[10000]
Definition: EdbShowerRec.h:68
TMultiLayerPerceptron * mlp2
Definition: EdbShowerRec.h:247
Double_t bin14
Definition: EdbShowerRec.h:239
Double_t bin42
Definition: EdbShowerRec.h:242
void SetL(int L)
Definition: EdbShowerRec.h:445
Bool_t eEnergyIsDone
Definition: EdbShowerRec.h:145
Int_t emcDigitIndexTop[1000]
Definition: EdbShowerRec.h:75
TTree * treesaveb3
Definition: EdbShowerRec.h:226
Float_t eEnergySigmaCorrectedb
Definition: EdbShowerRec.h:133
void Energy_ExtractShowerParametrisationProfile()
Definition: EdbShowerRec.cxx:2508
Float_t EnergyUnCorrectedb
Definition: EdbShowerRec.h:208
Bool_t GetAliLoaded() const
Definition: EdbShowerRec.h:690
Int_t eSize
Definition: EdbShowerRec.h:78
Int_t GetTrID() const
Definition: EdbShowerRec.h:293
void SetTy(float ty)
Definition: EdbShowerRec.h:422
TH1D * GetHistNBaseTracks()
Definition: EdbShowerRec.h:594
void SetFlagb(int flag, int i)
Definition: EdbShowerRec.h:492
void Execute()
Definition: EdbShowerRec.cxx:3935
void rec(int num, int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop, int *mcDigitIndexBottom, int piece2, int piece2par, int DOWN, EdbPVRec *pvr)
OLD — not used anymore....
Definition: EdbShowerRec.cxx:315
Float_t deltarb[10000]
Definition: EdbShowerRec.h:199
Double_t bin55
Definition: EdbShowerRec.h:243
Int_t ntrace1simub[10000]
Definition: EdbShowerRec.h:194
void SetTYb(float tyb, int i)
Definition: EdbShowerRec.h:480
void initproc(const char *def, int iopt, const char *rcut)
Definition: EdbShowerRec.cxx:269
Int_t idb[10000]
Definition: EdbShowerRec.h:185
Int_t eFlagb[10000]
Definition: EdbShowerRec.h:70
Float_t GetYb(int i) const
Definition: EdbShowerRec.h:319
TH1F * eHistEnergyNominal
Definition: EdbShowerRec.h:137
Float_t eDz
Definition: EdbShowerRec.h:57
TH1F * GetHistEnergyCorrectedb()
Definition: EdbShowerRec.h:569
Float_t eX0
Definition: EdbShowerRec.h:44
Double_t inANN[70]
Definition: EdbShowerRec.h:155
Double_t eAlgoParameterConnectionDR
Definition: EdbShowerRec.h:32
Double_t bin11
Definition: EdbShowerRec.h:239
Int_t nfilmb[10000]
Definition: EdbShowerRec.h:192
Int_t GetTreeBranchEntryNr(EdbSegP *seg)
Definition: EdbShowerRec.cxx:3316
void SetID(int id)
Definition: EdbShowerRec.h:388
Bool_t eInitiatorBTIsCreated
Definition: EdbShowerRec.h:90
Double_t bin51
Definition: EdbShowerRec.h:243
void SetUseAliSub(Bool_t UseAliSub)
Definition: EdbShowerRec.h:625
TH1D * GetHistdeltaR_rms()
Definition: EdbShowerRec.h:603
Int_t eInBTArrayN
Definition: EdbShowerRec.h:116
Double_t bin24
Definition: EdbShowerRec.h:240
void ResetInBTArray()
Definition: EdbShowerRec.h:719
void ResetRecoShowerArray()
Definition: EdbShowerRec.h:723
Float_t eZ0
Definition: EdbShowerRec.h:46
Double_t eAlgoParameterConeAngle
Definition: EdbShowerRec.h:30
void SetSize(int size)
Definition: EdbShowerRec.h:429
void SetSize20(int size)
Definition: EdbShowerRec.h:435
void SetChi2b(float chi2b, int i)
Definition: EdbShowerRec.h:483
Float_t EnergySigmaCorrectedb
Definition: EdbShowerRec.h:209
Int_t eTrID
Definition: EdbShowerRec.h:49
Int_t sizeb
Definition: EdbShowerRec.h:182
Float_t txb[10000]
Definition: EdbShowerRec.h:190
Float_t deltayb[10000]
Definition: EdbShowerRec.h:202
Float_t eTYb[10000]
Definition: EdbShowerRec.h:66
Float_t eTXb[10000]
Definition: EdbShowerRec.h:65
void TransferTreebranchShowerTreeIntoShowerObjectArray(TTree *treebranch)
Definition: EdbShowerRec.cxx:4597
void SetNFilmb(int nfilmb, int i)
Definition: EdbShowerRec.h:495
Float_t zb[10000]
Definition: EdbShowerRec.h:189
void SetWb(int w, int i)
Definition: EdbShowerRec.h:486
Double_t bin6
Definition: EdbShowerRec.h:238
EdbDataProc * dproc
Definition: EdbShowerRec.h:235
TFile * fileout
Definition: EdbShowerRec.h:218
void remove(char *shfname, char *def, int MAXPLATE, int piece2par)
Definition: EdbShowerRec.cxx:1452
void recup(int num, int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, double *chi20, int *W0, double *P0, int *Flag0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop0, int *mcDigitIndexBottom0, int piece2, int piece2par, EdbPVRec *pvr)
Definition: EdbShowerRec.cxx:940
void SetDz(float dz)
Definition: EdbShowerRec.h:442
void SetInBTArray(TObjArray *InBTArray)
Definition: EdbShowerRec.h:636
Bool_t eUseQualityPar
Definition: EdbShowerRec.h:39
Bool_t eUseAliSub
Definition: EdbShowerRec.h:109
Float_t EnergySigmaUnCorrectedb
Definition: EdbShowerRec.h:210
EdbDataProc * a
Definition: EdbShowerRec.h:236
void SetRecoShowerArrayN(Int_t RecoShowerArrayN)
Definition: EdbShowerRec.h:661
void NeuralNet()
Definition: EdbShowerRec.cxx:1918
TH1D * histo_deltaR_mean
Definition: EdbShowerRec.h:585
Int_t GetTagPrimaryb(int i) const
Definition: EdbShowerRec.h:352
void CheckEdbPVRecSetUseAliSub()
Definition: EdbShowerRec.cxx:3900
Int_t GetFlag0() const
Definition: EdbShowerRec.h:278
Float_t E_MC
Definition: EdbShowerRec.h:179
Int_t eAliNpat
Definition: EdbShowerRec.h:103
void SetP0(float p)
Definition: EdbShowerRec.h:407
void ReadAffAndZ(char *fname, Float_t *pZoffs, Float_t *a11, Float_t *a12, Float_t *a21, Float_t *a22, Float_t *b1, Float_t *b2)
Definition: EdbShowerRec.cxx:1858
Int_t eSize15
Definition: EdbShowerRec.h:79
Double_t bin34
Definition: EdbShowerRec.h:241
Double_t bin19
Definition: EdbShowerRec.h:239
void SetSize30(int size)
Definition: EdbShowerRec.h:438
Float_t GetX0() const
Definition: EdbShowerRec.h:260
Double_t bin48
Definition: EdbShowerRec.h:242
Double_t bin1
Definition: EdbShowerRec.h:238
Float_t GetPb(int i) const
Definition: EdbShowerRec.h:337
Float_t GetTYb(int i) const
Definition: EdbShowerRec.h:328
void recdown(int num, int MAXPLATE, int DATA, int Ncand, double *x0, double *y0, double *z0, double *tx0, double *ty0, double *chi20, int *W0, double *P0, int *Flag0, int *plate0, int *id0, int *TRid, double *Esim, int *mcDigitIndexTop0, int *mcDigitIndexBottom0, int piece2, int piece2par, EdbPVRec *pvr)
Definition: EdbShowerRec.cxx:389
TObjArray * ShowerToEdbSegPArray()
Definition: EdbShowerRec.cxx:3237
void Energy_CreateEnergyResolutionFitFunction()
Definition: EdbShowerRec.cxx:2985
Float_t GetOutput() const
Definition: EdbShowerRec.h:357
TFile * FileReconstructedShowerTree
Definition: EdbShowerRec.h:229
Int_t eShowersN
Definition: EdbShowerRec.h:158
Double_t bin27
Definition: EdbShowerRec.h:240
Float_t eY0
Definition: EdbShowerRec.h:45
TH1D * histo_deltaT_mean
Definition: EdbShowerRec.h:586
Double_t bin43
Definition: EdbShowerRec.h:242
Int_t GetWb(int i) const
Definition: EdbShowerRec.h:334
void SaveResults()
Definition: EdbShowerRec.cxx:276
Double_t bin56
Definition: EdbShowerRec.h:243
Float_t eOutput15
Definition: EdbShowerRec.h:84
Bool_t FindPrecedingBTs(EdbSegP *s, EdbSegP *InBT, EdbPVRec *gAli, EdbTrackP *shower)
Definition: EdbShowerRec.cxx:4210
Double_t bin31
Definition: EdbShowerRec.h:241
Double_t eAlgoParameterConnectionDT
Definition: EdbShowerRec.h:33
Float_t EnergyCorrectedb
Definition: EdbShowerRec.h:207
Float_t GetmcDigitIndexBottom(int i) const
Definition: EdbShowerRec.h:385
void SetPb(float p, int i)
Definition: EdbShowerRec.h:489
Int_t GetRecoShowerArrayN() const
Definition: EdbShowerRec.h:711
Double_t bin9
Definition: EdbShowerRec.h:238
TFile * FileShowerParametrisationTree
Definition: EdbShowerRec.h:230
Int_t GetPlateb(int i) const
Definition: EdbShowerRec.h:309
Double_t bin18
Definition: EdbShowerRec.h:239
void Fill_eInBTArray_ByLinkTracks_eFilename_LinkedTracks()
Definition: EdbShowerRec.cxx:3601
void SetOutput30(float output)
Definition: EdbShowerRec.h:458
EdbSegP * GetInBT(Int_t i) const
Definition: EdbShowerRec.h:701
void SetSize15(int size)
Definition: EdbShowerRec.h:432
Float_t GetChi20() const
Definition: EdbShowerRec.h:269
TTree * ShowerParametrisationTree
Definition: EdbShowerRec.h:231
Int_t eID
Definition: EdbShowerRec.h:43
void TransferShowerObjectArrayIntoEntryOfTreebranchShowerTree(TObjArray *segarray)
Definition: EdbShowerRec.cxx:4283
EdbPVRec * eAli
Definition: EdbShowerRec.h:100
Float_t eChi2b[10000]
Definition: EdbShowerRec.h:67
Int_t emcDigitIndexBottom0
Definition: EdbShowerRec.h:55
void SetTXb(float txb, int i)
Definition: EdbShowerRec.h:477
TTree * treesaveb
Definition: EdbShowerRec.h:219
Int_t GetInBTArrayN() const
Definition: EdbShowerRec.h:708
Float_t eOutput20
Definition: EdbShowerRec.h:85
void SetDeltarb(float deltarb, int i)
Definition: EdbShowerRec.h:498
TH1D * histo_deltaR_rms
Definition: EdbShowerRec.h:587
Double_t bin15
Definition: EdbShowerRec.h:239
TTree * ANNInterimTreeInputvariables
Definition: EdbShowerRec.h:154
Float_t tyb[10000]
Definition: EdbShowerRec.h:191
TH1F * GetHistEnergySigmaUnCorrectedb()
Definition: EdbShowerRec.h:578
Double_t bin8
Definition: EdbShowerRec.h:238
TMultiLayerPerceptron * eEANN()
Float_t GetEnergyUnSigma() const
Definition: EdbShowerRec.h:379
void SetTrID(int id)
Definition: EdbShowerRec.h:425
Float_t deltaxb[10000]
Definition: EdbShowerRec.h:201
Int_t eNumberPlate_eAliPID
Definition: EdbShowerRec.h:106
TH1F * eHistEnergyUnCorrectedb
Definition: EdbShowerRec.h:139
TH1D * GetHistdeltaT_rms()
Definition: EdbShowerRec.h:606
void SetmcDigitIndexTop0(int mcDt)
Definition: EdbShowerRec.h:413
void ResetAlgoParameters()
Definition: EdbShowerRec.cxx:4804
Double_t bin17
Definition: EdbShowerRec.h:239
Float_t eOutput
Definition: EdbShowerRec.h:83
Float_t eDeltarb[10000]
Definition: EdbShowerRec.h:72
Double_t bin7
Definition: EdbShowerRec.h:238
Float_t eChi20
Definition: EdbShowerRec.h:50
Int_t type
Definition: EdbShowerRec.h:244
Int_t plateb[10000]
Definition: EdbShowerRec.h:186
Double_t bin10
Definition: EdbShowerRec.h:238
Double_t bin3
Definition: EdbShowerRec.h:238
TTree * treesaveb2
Definition: EdbShowerRec.h:223
Double_t DeltaR_WithoutPropagation(EdbSegP *s, EdbSegP *stest)
Definition: EdbShowerRec.cxx:3526
Double_t DeltaThetaComponentwise(EdbSegP *s1, EdbSegP *s2)
Definition: EdbShowerRec.cxx:3492
Int_t eSize20
Definition: EdbShowerRec.h:80
TObjArray * eEnergyANN
Definition: EdbShowerRec.h:148
Float_t GetEnergySigma() const
Definition: EdbShowerRec.h:376
Double_t bin16
Definition: EdbShowerRec.h:239
Int_t eAliNpatM1
Definition: EdbShowerRec.h:105
Float_t eXb[10000]
Definition: EdbShowerRec.h:62
Float_t eEnergyUnCorrectedb
Definition: EdbShowerRec.h:132
Double_t bin33
Definition: EdbShowerRec.h:241
Definition: EdbPattern.h:118
const char * fname
Definition: mc2raw.cxx:41
UInt_t id
Definition: tlg2pattern.C:118
int piece2par
Definition: shower_btr.C:22
int DOWN
Definition: shower_btr.C:16
const char * def
Definition: shower_tr.C:24
int piece2
Definition: shower_btr.C:21
int DATA
Definition: shower_btr.C:24
int MAXPLATE
Definition: shower_btr.C:19
#define NULL
Definition: nidaqmx.h:84
p
Definition: testBGReduction_AllMethods.C:8
Float_t chi2
Definition: testBGReduction_By_ANN.C:14
void w(int rid=2, int nviews=2)
Definition: test.C:27
EdbSegP * s1
Definition: tlg2pattern.C:30
EdbSegP * s2
Definition: tlg2pattern.C:31
EdbSegP * s
Definition: tlg2pattern.C:32