/[PAMELA software]/calo/flight/CaloFranzini/inc/CaloFranzini.h
ViewVC logotype

Diff of /calo/flight/CaloFranzini/inc/CaloFranzini.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mocchiut, Tue Dec 18 09:55:04 2007 UTC revision 1.10 by mocchiut, Tue Aug 4 13:59:14 2009 UTC
# Line 17  Line 17 
17  #include <TSystemDirectory.h>  #include <TSystemDirectory.h>
18  #include <TSQLServer.h>  #include <TSQLServer.h>
19  #include <TMatrixD.h>  #include <TMatrixD.h>
20    #include <TMatrixF.h>
21  #include <TArrayI.h>  #include <TArrayI.h>
22  #include <TArrayF.h>  #include <TArrayF.h>
23  #include <TStyle.h>  #include <TStyle.h>
24  #include <TCanvas.h>  #include <TCanvas.h>
25  #include <TStyle.h>  #include <TStyle.h>
26  #include <TH1F.h>  #include <TH1F.h>
27    #include <TF1.h>
28    #include <TGraph.h>
29    #include <TDecompSVD.h>
30  //  //
31    
32  #include <PamLevel2.h>  #include <PamLevel2.h>
# Line 39  class CaloFranzini : public TObject { Line 43  class CaloFranzini : public TObject {
43      //      //
44      PamLevel2 *L2;      PamLevel2 *L2;
45      Bool_t debug;      Bool_t debug;
46      TFile *file;      TFile *lfile;
47        TFile *ffile;
48      Int_t nbin;      Int_t nbin;
49      TArrayF *brig;      TArrayF *brig;
50      TArrayF *brigm;      TArrayF *brigm;
51      TArrayF *qplmean[17];      TArrayF *qplmean[17];
52      TMatrixD *hmat[17];      TMatrixD *hmat[17];
53        TMatrixD *hfmat[17];
54        TMatrixD *fqplmean[17];
55      Int_t N;      Int_t N;
56      Int_t NC;      Int_t NC;
57      //      //
# Line 58  class CaloFranzini : public TObject { Line 65  class CaloFranzini : public TObject {
65      Float_t qplane[43];      Float_t qplane[43];
66      Bool_t sel;      Bool_t sel;
67      Bool_t cont;      Bool_t cont;
68        Bool_t crig;
69      //      //
70      Int_t mask18b;      Int_t mask18b;
71      Bool_t dofull;      Bool_t dofull;
72      Bool_t dolong;      Bool_t dolong;
73      Int_t degfre;      Int_t degfre;
74        Int_t fdegfre;
75      //      //
76      Float_t longtzeta; ///< longitudinal covariance parameter used for event selection      Float_t longtzeta; ///< longitudinal covariance parameter used for event selection
77      Float_t fulltzeta; ///< full calorimeter covariance parameter used for event selection      Float_t fulltzeta; ///< full calorimeter covariance parameter used for event selection
78      //      //
79        Float_t negfulltzeta;
80        Float_t posfulltzeta;
81        Float_t minsvalue;
82        Float_t maxsvalue;
83        Float_t aveposvar;
84        Float_t avenegvar;
85        Int_t numneg;
86        Int_t numpos;
87        //
88    
89   public:   public:
90      //      //
# Line 80  class CaloFranzini : public TObject { Line 98  class CaloFranzini : public TObject {
98      Float_t GetNormLongTZeta(); ///< Returns longitudinal covariance parameter used for event selection      Float_t GetNormLongTZeta(); ///< Returns longitudinal covariance parameter used for event selection
99      Float_t GetNormFullTZeta(); ///< Returns full calorimeter covariance parameter used for event selection      Float_t GetNormFullTZeta(); ///< Returns full calorimeter covariance parameter used for event selection
100      //      //
101    
102        Float_t GetFullPositive(){Process(); return posfulltzeta;};
103        Float_t GetFullNegative(){Process(); return negfulltzeta;};
104        Int_t GetFullNumPositive(){Process(); return numpos;};
105        Int_t GetFullNumNegative(){Process(); return numneg;};
106        Float_t GetFullMaxVar(){Process(); return maxsvalue;};
107        Float_t GetFullMinVar(){Process(); return minsvalue;};
108        Float_t GetFullAveragePosVar(){Process(); return aveposvar;};
109        Float_t GetFullAverageNegVar(){Process(); return avenegvar;};
110    
111       //
112      void Selection(){sel = true; cont = false;}; ///< Set selection mode: planes from 1 to 22-N are used, plane 18 - N is masked if "emulate18" variable is true (DEFAULT);      void Selection(){sel = true; cont = false;}; ///< Set selection mode: planes from 1 to 22-N are used, plane 18 - N is masked if "emulate18" variable is true (DEFAULT);
113      void Contamination(){sel = false; cont = true;}; ///< Set contamination mode: planes from N to 22 are used.      void Contamination(){sel = false; cont = true;}; ///< Set contamination mode: planes from N to 22 are used.
114      Int_t GetDegreeOfFreedom(){return degfre;};      Int_t GetDegreeOfFreedom(){return degfre;};
115        Int_t GetLongDegreeOfFreedom(){return degfre;};
116        Int_t GetFullDegreeOfFreedom(){return fdegfre;};
117      //      //
118      TArrayF *LoadLongAverage(Float_t rig);      TArrayF *LoadLongAverage(Float_t rig);
119      TMatrixD *LoadCovarianceMatrix(Float_t rig);      TMatrixD *LoadCovarianceMatrix(Float_t rig);
120      //      //
121      Float_t GetAverageAt(Int_t plane, Float_t rig);      Float_t GetAverageAt(Int_t plane, Float_t rig);
122      Float_t GetHmatrixAt(Int_t i, Int_t j, Float_t rig);      Float_t GetHmatrixAt(Int_t i, Int_t j, Float_t rig);
123      //      //
124        Float_t GetFullAverageAt(Int_t plane, Int_t strip, Float_t rig);
125        Float_t GetFullHmatrixAt(Int_t i, Int_t j, Float_t rig);
126        Float_t GetFullAverageAt(Int_t plane, Int_t strip, Float_t rig, Int_t rigbin);
127        Float_t GetFullHmatrixAt(Int_t i, Int_t j, Float_t rig, Int_t rigbin);
128        Float_t GetFullHmatrixAt(Int_t i, Int_t j, Float_t rig, Int_t rigbin, Int_t mtherig);
129        //
130      Bool_t Open(TString matrixfile);      Bool_t Open(TString matrixfile);
131        Bool_t Open(TString longmatrixfile,TString fullmatrixfile);
132      Bool_t LoadBin();      Bool_t LoadBin();
133        Bool_t LoadBin(Bool_t full);
134        Bool_t LoadLong();
135        Bool_t LoadFull();
136      Bool_t LoadMatrices();      Bool_t LoadMatrices();
137      TFile *GetFile(){return file;};      Bool_t LoadFullMatrices();
138        TFile *GetFile(){return lfile;};
139        TFile *GetLongFile(){return lfile;};
140        TFile *GetFullFile(){return ffile;};
141        //
142        TMatrixD *LoadFullAverage(Int_t rigbin);
143        TMatrixD *LoadFullNAverage(Int_t rigbin);
144        void UnLoadFullAverage(Int_t rigbin);
145        void UnLoadFullNAverage(Int_t rigbin);
146        TMatrixF *LoadFullMatrix(Int_t rigbin);
147        //    void LoadFullMatrix(Int_t rigbin, TMatrixF *&fmatri);
148        void LoadFullMatrix(Int_t rigbin, TMatrixF *fmatri);
149        TMatrixF *LoadFullNMatrix(Int_t rigbin);
150        void UnLoadFullMatrix(Int_t rigbin);
151        void UnLoadFullNMatrix(Int_t rigbin);
152        //
153        Int_t ConvertStrip(Int_t mstrip);
154      //      //
155      Bool_t CreateMatrixFile(TString matrixfile);      Bool_t CreateMatrixFile(TString matrixfile);
156      Bool_t UpdateMatrixFile(TString matrixfile);      Bool_t UpdateMatrixFile(TString matrixfile);
# Line 101  class CaloFranzini : public TObject { Line 158  class CaloFranzini : public TObject {
158      void WriteRigBin(TArrayF *rigbin);      void WriteRigBin(TArrayF *rigbin);
159      void WriteLongMean(TArrayF *qpl, Int_t bin);      void WriteLongMean(TArrayF *qpl, Int_t bin);
160      void WriteLongMatrix(TMatrixD *matrix, Int_t bin);      void WriteLongMatrix(TMatrixD *matrix, Int_t bin);
161        void WriteFullMatrix(TMatrixD *matrix, Int_t bin);
162        void WriteFullNMatrix(TMatrixF *matrix, Int_t bin);
163        void WriteFullMean(TMatrixD *matrix, Int_t bin);
164        void WriteFullNMean(TMatrixD *matrix, Int_t bin);
165      void WriteInvertedLongMatrix(TMatrixD matrix, Int_t bin);      void WriteInvertedLongMatrix(TMatrixD matrix, Int_t bin);
166        void WriteInvertedFullMatrix(TMatrixD matrix, Int_t bin);
167      void CloseMatrixFile();      void CloseMatrixFile();
168      //      //
169      void CalculateLongTZeta(){ dofull = false; dolong=true; };      void CalculateLongTZeta(){ dolong=true; };
170      void CalculateFullTZeta(){ dolong = false; dofull=true; };      void CalculateFullTZeta(){ dofull=true; };
171        void CalculateLongTZeta(Bool_t bo){ dolong=bo; };
172        void CalculateFullTZeta(Bool_t bo){ dofull=bo; };
173      void SetDebug(Bool_t d){ debug=d; };      void SetDebug(Bool_t d){ debug=d; };
174      void SetNoWpreSampler(Int_t n);      void SetNoWpreSampler(Int_t n);
175      void SetNoWcalo(Int_t n);      void SetNoWcalo(Int_t n);
176        void SplitInto(Int_t NoWpreSampler, Int_t NoWcalo);
177      Int_t GetNoWpreSampler(){return N;}; ///< Get the number of W planes used as presampler.      Int_t GetNoWpreSampler(){return N;}; ///< Get the number of W planes used as presampler.
178      Int_t GetNoWcalo(){return NC;}; ///< Get the number of W planes used as calorimeter.      Int_t GetNoWcalo(){return NC;}; ///< Get the number of W planes used as calorimeter.
179      void DrawLongAverage(Float_t rig);      void DrawLongAverage(Float_t rig);
180        void DrawLongAverage(Int_t bin);
181        void UseCaloRig(){crig=true;};
182      //      //
183      void Clear();      void Clear();
184      void Clear(Option_t *option){Clear();};      void Clear(Option_t *option){Clear();};

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.23