CMS 3D CMS Logo

TCnaDialogEB.h

Go to the documentation of this file.
00001 #ifndef ZTR_TCnaDialogEB
00002 #define ZTR_TCnaDialogEB
00003 
00004 #include "TObject.h"
00005 #include "TSystem.h"
00006 
00007 #include "TGButton.h"
00008 #include "TGCanvas.h"
00009 #include "TGWindow.h"
00010 #include "TGMenu.h"
00011 #include "TGFrame.h"
00012 #include "TGTextEntry.h"
00013 #include "TGLayout.h"
00014 
00015 #include "TROOT.h"
00016 
00017 #include "TApplication.h"
00018 #include "TGClient.h"
00019 #include "TRint.h"
00020 
00021 #include "Riostream.h"
00022 #include "TString.h"
00023 
00024 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TCnaParameters.h"
00025 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TCnaViewEB.h"
00026 
00027 //------------------------ TCnaDialogEB.h -----------------
00028 //
00029 //   For questions or comments, please send e-mail to:
00030 //
00031 //   Bernard Fabbro             
00032 //   fabbro@hep.saclay.cea.fr 
00033 //--------------------------------------------------------
00034 
00035 class TCnaDialogEB : public TGMainFrame {
00036 
00037  private:
00038 
00039   //..... Attributes
00040 
00041   Int_t              fgMaxCar;   // Max nb of caracters for char*
00042 
00043   Int_t              fCnew,        fCdelete;
00044   Int_t              fCnewRoot,    fCdeleteRoot;
00045 
00046   TString            fTTBELL;
00047 
00048   Int_t              fCnaCommand,  fCnaError;
00049 
00050   //==============================================. GUI box: menus, buttons,..
00051 
00052   TGWindow*          fCnaP;
00053   UInt_t             fCnaW,    fCnaH;
00054 
00055   //------------------------------------------------------------------------------------
00056 
00057   TCnaParameters*    fParameters;
00058   TCnaViewEB*        fView;
00059 
00060   //------------------- General frame, void frame, standard layout
00061 
00062   TGLayoutHints      *fLayoutGeneral,     *fLayoutBottLeft,  *fLayoutBottRight;
00063   TGLayoutHints      *fLayoutTopLeft,     *fLayoutTopRight;  
00064   TGLayoutHints      *fLayoutCenterYLeft, *fLayoutCenterYRight;      
00065  
00066   TGCompositeFrame   *fVoidFrame;     // 010
00067  
00068   //++++++++++++++++++++++++++++++++++++++++++ Horizontal frame Ana + Run 
00069   TGCompositeFrame   *fAnaRunFrame;
00070 
00071   //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
00072   TGCompositeFrame   *fAnaFrame;
00073   TGTextButton       *fAnaBut;
00074   Int_t               fAnaButC;
00075   TGLayoutHints      *fLayoutAnaBut;
00076   TGTextEntry        *fAnaText;
00077   TGTextBuffer       *fEntryAnaNumber;
00078   TGLayoutHints      *fLayoutAnaField;
00079 
00080   //-------------------------------- Sub-Frame Run number (Button+Entry Field)  
00081   TGCompositeFrame   *fRunFrame;  
00082   TGTextButton       *fRunBut;
00083   Int_t               fRunButC;
00084   TGLayoutHints      *fLayoutRunBut;
00085   TGTextEntry        *fRunText;
00086   TGTextBuffer       *fEntryRunNumber;
00087   TGLayoutHints      *fLayoutRunField;
00088 
00089   TGLayoutHints      *fLayoutAnaRunFrame;
00090 
00091   //+++++++++++++++++++++++++++++++++++++++++++ Frames: first taken evt + nb of events + super-module
00092   TGCompositeFrame   *fFevFrame;
00093   TGTextButton       *fFevBut;
00094   TGLayoutHints      *fLayoutFevBut;
00095   TGTextEntry        *fFevText;
00096   TGTextBuffer       *fEntryFevNumber;
00097   TGLayoutHints      *fLayoutFevFieldText;    // 030
00098   TGLayoutHints      *fLayoutFevFieldFrame;
00099 
00100   TGCompositeFrame   *fNoeFrame;
00101   TGTextButton       *fNoeBut;
00102   TGLayoutHints      *fLayoutNoeBut;
00103   TGTextEntry        *fNoeText;
00104   TGTextBuffer       *fEntryNoeNumber;
00105   TGLayoutHints      *fLayoutNoeFieldText;
00106   TGLayoutHints      *fLayoutNoeFieldFrame;
00107  
00108   TGCompositeFrame   *fSuMoFrame;
00109   TGTextButton       *fSuMoBut;              // 040
00110   TGLayoutHints      *fLayoutSuMoBut;
00111   TGTextEntry        *fSuMoText;
00112   TGTextBuffer       *fEntrySuMoNumber;
00113   TGLayoutHints      *fLayoutSuMoFieldText;
00114   TGLayoutHints      *fLayoutSuMoFieldFrame;
00115 
00116   //............................ SuperModule Tower Numbering view (Button)
00117   TGTextButton       *fButSMNb;
00118   Int_t               fButSMNbC;
00119   TGLayoutHints      *fLayoutSMNbBut;
00120 
00121   //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Super-Module
00122   TGCompositeFrame   *fSuMoUpFrame;
00123 
00124   //................................ Menus+Ymin+Ymax for the Super-Module ............................
00125 
00126   //...................................... Found evts in the data
00127 
00128   TGCompositeFrame   *fVmmFoundEvtsFrame;
00129 
00130   TGCompositeFrame   *fVmaxFoundEvtsFrame;      // 050
00131   TGTextButton       *fVmaxFoundEvtsBut;
00132   TGLayoutHints      *fLayoutVmaxFoundEvtsBut;
00133   TGTextBuffer       *fEntryVmaxFoundEvtsNumber;
00134   TGTextEntry        *fVmaxFoundEvtsText;
00135   TGLayoutHints      *fLayoutVmaxFoundEvtsFieldText;
00136   TGLayoutHints      *fLayoutVmaxFoundEvtsFrame;
00137  
00138   TGCompositeFrame   *fVminFoundEvtsFrame;
00139   TGTextButton       *fVminFoundEvtsBut;
00140   TGLayoutHints      *fLayoutVminFoundEvtsBut;
00141   TGTextBuffer       *fEntryVminFoundEvtsNumber;        // 060
00142   TGTextEntry        *fVminFoundEvtsText;
00143   TGLayoutHints      *fLayoutVminFoundEvtsFieldText;
00144   TGLayoutHints      *fLayoutVminFoundEvtsFrame;
00145 
00146   TGPopupMenu        *fMenuFoundEvts;
00147   TGMenuBar          *fMenuBarFoundEvts;
00148   TGLayoutHints      *fLayoutMenuBarFoundEvts;
00149   Int_t               fMenuFoundEvtsGlobalFullC, fMenuFoundEvtsProjFullC;
00150   Int_t               fMenuFoundEvtsGlobalSameC, fMenuFoundEvtsProjSameC;
00151   Int_t               fMenuFoundEvtsEtaPhiC;
00152 
00153   TGLayoutHints      *fLayoutVmmFoundEvtsFrame;
00154 
00155   //................................... Horizontal frame ev + sig
00156   TGCompositeFrame   *fSuMoHozFrame;
00157 
00158   //............................................... Frame Ev + Menus Ev
00159   TGCompositeFrame   *fSuMoHozSubEvFrame; 
00160 
00161   //-------------------------------------------------------------
00162   TGCompositeFrame   *fVmmEvEvFrame;              // 070
00163 
00164   TGCompositeFrame   *fVmaxEvEvFrame;
00165   TGTextButton       *fVmaxEvEvBut;
00166   TGLayoutHints      *fLayoutVmaxEvEvBut;
00167   TGTextEntry        *fVmaxEvEvText;
00168   TGTextBuffer       *fEntryVmaxEvEvNumber;
00169   TGLayoutHints      *fLayoutVmaxEvEvFieldText;
00170   TGLayoutHints      *fLayoutVmaxEvEvFrame;
00171  
00172   TGCompositeFrame   *fVminEvEvFrame;
00173   TGTextButton       *fVminEvEvBut;
00174   TGLayoutHints      *fLayoutVminEvEvBut;          // 080
00175   TGTextEntry        *fVminEvEvText;
00176   TGTextBuffer       *fEntryVminEvEvNumber;
00177   TGLayoutHints      *fLayoutVminEvEvFieldText;
00178   TGLayoutHints      *fLayoutVminEvEvFrame;
00179 
00180   TGPopupMenu        *fMenuEvEv;
00181   TGMenuBar          *fMenuBarEvEv;
00182   TGLayoutHints      *fLayoutMenuBarEvEv;
00183   Int_t               fMenuEvEvGlobalFullC,  fMenuEvEvProjFullC;
00184   Int_t               fMenuEvEvGlobalSameC,  fMenuEvEvProjSameC;
00185   Int_t               fMenuEvEvEtaPhiC;
00186 
00187   TGLayoutHints      *fLayoutVmmEvEvFrame;
00188 
00189   //-------------------------------------------------------------
00190   TGCompositeFrame   *fVmmEvSigFrame;
00191 
00192   TGCompositeFrame   *fVmaxEvSigFrame;           // 090
00193   TGTextButton       *fVmaxEvSigBut;
00194   TGLayoutHints      *fLayoutVmaxEvSigBut;
00195   TGTextBuffer       *fEntryVmaxEvSigNumber;
00196   TGTextEntry        *fVmaxEvSigText;
00197   TGLayoutHints      *fLayoutVmaxEvSigFieldText;
00198   TGLayoutHints      *fLayoutVmaxEvSigFrame;
00199 
00200   TGCompositeFrame   *fVminEvSigFrame;
00201   TGTextButton       *fVminEvSigBut;
00202   TGLayoutHints      *fLayoutVminEvSigBut;
00203   TGTextBuffer       *fEntryVminEvSigNumber;            // 100
00204   TGTextEntry        *fVminEvSigText;
00205   TGLayoutHints      *fLayoutVminEvSigFieldText;
00206   TGLayoutHints      *fLayoutVminEvSigFrame;
00207 
00208   TGPopupMenu        *fMenuEvSig;
00209   TGMenuBar          *fMenuBarEvSig;
00210   TGLayoutHints      *fLayoutMenuBarEvSig; 
00211   Int_t               fMenuEvSigGlobalFullC, fMenuEvSigProjFullC; 
00212   Int_t               fMenuEvSigGlobalSameC, fMenuEvSigProjSameC;
00213   Int_t               fMenuEvSigEtaPhiC;
00214 
00215   TGLayoutHints      *fLayoutVmmEvSigFrame;
00216 
00217   //-------------------------------------------------------------
00218   TGCompositeFrame   *fVmmEvCorssFrame;
00219 
00220   TGCompositeFrame   *fVmaxEvCorssFrame;
00221   TGTextButton       *fVmaxEvCorssBut;            // 110
00222   TGLayoutHints      *fLayoutVmaxEvCorssBut;
00223   TGTextEntry        *fVmaxEvCorssText;
00224   TGTextBuffer       *fEntryVmaxEvCorssNumber;
00225   TGLayoutHints      *fLayoutVmaxEvCorssFieldText;
00226   TGLayoutHints      *fLayoutVmaxEvCorssFrame;
00227 
00228   TGCompositeFrame   *fVminEvCorssFrame;
00229   TGTextButton       *fVminEvCorssBut;
00230   TGLayoutHints      *fLayoutVminEvCorssBut;
00231   TGTextBuffer       *fEntryVminEvCorssNumber;
00232   TGTextEntry        *fVminEvCorssText;            // 120
00233   TGLayoutHints      *fLayoutVminEvCorssFieldText;
00234   TGLayoutHints      *fLayoutVminEvCorssFrame;
00235 
00236   TGPopupMenu        *fMenuEvCorss;
00237   TGMenuBar          *fMenuBarEvCorss;
00238   TGLayoutHints      *fLayoutMenuBarEvCorss;
00239   Int_t               fMenuEvCorssGlobalFullC, fMenuEvCorssProjFullC; 
00240   Int_t               fMenuEvCorssGlobalSameC, fMenuEvCorssProjSameC; 
00241   Int_t               fMenuEvCorssEtaPhiC;
00242 
00243   TGLayoutHints      *fLayoutVmmEvCorssFrame;
00244 
00245   TGLayoutHints      *fLayoutSuMoHozSubEvFrame;
00246 
00247   //............................................... Frame Sig + Menus Sig
00248   TGCompositeFrame   *fSuMoHozSubSigFrame; 
00249 
00250   //-------------------------------------------------------------
00251   TGCompositeFrame   *fVmmSigEvFrame;
00252 
00253   TGCompositeFrame   *fVmaxSigEvFrame;    // 130
00254   TGTextButton       *fVmaxSigEvBut;
00255   TGLayoutHints      *fLayoutVmaxSigEvBut;
00256   TGTextEntry        *fVmaxSigEvText;
00257   TGTextBuffer       *fEntryVmaxSigEvNumber;
00258   TGLayoutHints      *fLayoutVmaxSigEvFieldText;
00259   TGLayoutHints      *fLayoutVmaxSigEvFrame;
00260 
00261   TGCompositeFrame   *fVminSigEvFrame;
00262   TGTextButton       *fVminSigEvBut;
00263   TGLayoutHints      *fLayoutVminSigEvBut;
00264   TGTextBuffer       *fEntryVminSigEvNumber;         // 140
00265   TGTextEntry        *fVminSigEvText;
00266   TGLayoutHints      *fLayoutVminSigEvFieldText;
00267   TGLayoutHints      *fLayoutVminSigEvFrame;
00268 
00269   TGPopupMenu        *fMenuSigEv;
00270   TGMenuBar          *fMenuBarSigEv;
00271   TGLayoutHints      *fLayoutMenuBarSigEv;
00272   Int_t               fMenuSigEvGlobalFullC, fMenuSigEvProjFullC; 
00273   Int_t               fMenuSigEvGlobalSameC, fMenuSigEvProjSameC; 
00274   Int_t               fMenuSigEvEtaPhiC;
00275 
00276   TGLayoutHints      *fLayoutVmmSigEvFrame;
00277 
00278   //-------------------------------------------------------------
00279   TGCompositeFrame   *fVmmSigSigFrame;
00280 
00281   TGCompositeFrame   *fVmaxSigSigFrame;
00282   TGTextButton       *fVmaxSigSigBut;           // 150
00283   TGLayoutHints      *fLayoutVmaxSigSigBut;
00284   TGTextEntry        *fVmaxSigSigText;
00285   TGTextBuffer       *fEntryVmaxSigSigNumber;
00286   TGLayoutHints      *fLayoutVmaxSigSigFieldText;
00287   TGLayoutHints      *fLayoutVmaxSigSigFrame;
00288 
00289   TGCompositeFrame   *fVminSigSigFrame;
00290   TGTextButton       *fVminSigSigBut;
00291   TGLayoutHints      *fLayoutVminSigSigBut;
00292   TGTextBuffer       *fEntryVminSigSigNumber;
00293   TGTextEntry        *fVminSigSigText;          // 160
00294   TGLayoutHints      *fLayoutVminSigSigFieldText;
00295   TGLayoutHints      *fLayoutVminSigSigFrame;
00296 
00297   TGPopupMenu        *fMenuSigSig;
00298   TGMenuBar          *fMenuBarSigSig;
00299   TGLayoutHints      *fLayoutMenuBarSigSig;
00300   Int_t               fMenuSigSigGlobalFullC, fMenuSigSigProjFullC; 
00301   Int_t               fMenuSigSigGlobalSameC, fMenuSigSigProjSameC;
00302   Int_t               fMenuSigSigEtaPhiC;
00303 
00304   TGLayoutHints      *fLayoutVmmSigSigFrame;
00305 
00306   //-------------------------------------------------------------
00307   TGCompositeFrame   *fVmmSigCorssFrame;
00308 
00309   TGCompositeFrame   *fVmaxSigCorssFrame;
00310   TGTextButton       *fVmaxSigCorssBut;
00311   TGLayoutHints      *fLayoutVmaxSigCorssBut;   // 170
00312   TGTextEntry        *fVmaxSigCorssText;
00313   TGTextBuffer       *fEntryVmaxSigCorssNumber;
00314   TGLayoutHints      *fLayoutVmaxSigCorssFieldText;
00315   TGLayoutHints      *fLayoutVmaxSigCorssFrame;
00316 
00317   TGCompositeFrame   *fVminSigCorssFrame;
00318   TGTextButton       *fVminSigCorssBut;
00319   TGLayoutHints      *fLayoutVminSigCorssBut;
00320   TGTextEntry        *fVminSigCorssText;
00321   TGTextBuffer       *fEntryVminSigCorssNumber;
00322   TGLayoutHints      *fLayoutVminSigCorssFieldText;
00323   TGLayoutHints      *fLayoutVminSigCorssFrame;
00324 
00325   TGPopupMenu        *fMenuSigCorss;
00326   TGMenuBar          *fMenuBarSigCorss;
00327   TGLayoutHints      *fLayoutMenuBarSigCorss;
00328   Int_t               fMenuSigCorssGlobalFullC, fMenuSigCorssProjFullC;  
00329   Int_t               fMenuSigCorssGlobalSameC, fMenuSigCorssProjSameC;
00330   Int_t               fMenuSigCorssEtaPhiC;
00331 
00332   TGLayoutHints      *fLayoutVmmSigCorssFrame;     // 185
00333 
00334   //----------------------------------------------------------------------------------
00335 
00336   TGLayoutHints      *fLayoutSuMoHozSubSigFrame;
00337 
00338   TGLayoutHints      *fLayoutSuMoHozFrame;
00339 
00340   //...................................... Covariances between towers
00341   TGCompositeFrame   *fVmmEvCovttFrame;
00342 
00343   TGCompositeFrame   *fVmaxEvCovttFrame;
00344   TGTextButton       *fVmaxEvCovttBut;
00345   TGLayoutHints      *fLayoutVmaxEvCovttBut;
00346   TGTextEntry        *fVmaxEvCovttText;
00347   TGTextBuffer       *fEntryVmaxEvCovttNumber;
00348   TGLayoutHints      *fLayoutVmaxEvCovttFieldText;
00349   TGLayoutHints      *fLayoutVmaxEvCovttFrame;
00350 
00351   TGCompositeFrame   *fVminEvCovttFrame;
00352   TGTextButton       *fVminEvCovttBut;
00353   TGLayoutHints      *fLayoutVminEvCovttBut;
00354   TGTextBuffer       *fEntryVminEvCovttNumber;
00355   TGTextEntry        *fVminEvCovttText;         // 200
00356   TGLayoutHints      *fLayoutVminEvCovttFieldText;
00357   TGLayoutHints      *fLayoutVminEvCovttFrame;
00358 
00359   TGPopupMenu        *fMenuCovtt;
00360   TGMenuBar          *fMenuBarCovtt;
00361   TGLayoutHints      *fLayoutMenuBarCovtt;
00362   Int_t               fMenuCovttColzC, fMenuCovttLegoC;
00363 
00364   TGLayoutHints      *fLayoutVmmEvCovttFrame;
00365 
00366   //...................................... Correlations between towers
00367   TGCompositeFrame   *fVmmEvCorttFrame;
00368 
00369   TGCompositeFrame   *fVmaxEvCorttFrame;
00370   TGTextButton       *fVmaxEvCorttBut;
00371   TGLayoutHints      *fLayoutVmaxEvCorttBut;       // 210
00372   TGTextEntry        *fVmaxEvCorttText;
00373   TGTextBuffer       *fEntryVmaxEvCorttNumber;
00374   TGLayoutHints      *fLayoutVmaxEvCorttFieldText;
00375   TGLayoutHints      *fLayoutVmaxEvCorttFrame;
00376 
00377   TGCompositeFrame   *fVminEvCorttFrame;
00378   TGTextButton       *fVminEvCorttBut;
00379   TGLayoutHints      *fLayoutVminEvCorttBut;
00380   TGTextEntry        *fVminEvCorttText;
00381   TGTextBuffer       *fEntryVminEvCorttNumber;
00382   TGLayoutHints      *fLayoutVminEvCorttFieldText;   // 220
00383   TGLayoutHints      *fLayoutVminEvCorttFrame;
00384 
00385   TGPopupMenu        *fMenuCortt;
00386   TGMenuBar          *fMenuBarCortt;
00387   TGLayoutHints      *fLayoutMenuBarCortt;
00388   Int_t               fMenuCorttColzC, fMenuCorttLegoC;
00389 
00390   TGLayoutHints      *fLayoutVmmEvCorttFrame;
00391 
00392   TGLayoutHints      *fLayoutSuMoUpFrame;
00393 
00394   //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Tower_X + Tower_Y
00395   TGCompositeFrame   *fTowSpFrame; 
00396 
00397   //----------------------------------- SubFrame Tower_X (Button + EntryField)
00398 
00399   TGCompositeFrame   *fTxSubFrame;
00400 
00401   TGCompositeFrame   *fTowXFrame;          
00402   TGTextButton       *fTowXBut;        // 230
00403   Int_t               fTowXButC;
00404   TGLayoutHints      *fLayoutTowXBut; 
00405   TGTextBuffer       *fEntryTowXNumber; 
00406   TGTextEntry        *fTowXText;
00407   TGLayoutHints      *fLayoutTowXField;
00408   
00409   //............................ Tower Crystal Numbering view (Button)
00410   TGTextButton       *fButChNb;
00411   Int_t               fButChNbC;
00412   TGLayoutHints      *fLayoutChNbBut;
00413 
00414   //............................ Menus Tower_X
00415   TGPopupMenu        *fMenuCorssAll;
00416   TGMenuBar          *fMenuBarCorssAll;
00417   Int_t               fMenuCorssAllColzC;
00418 
00419   TGPopupMenu        *fMenuCovssAll;
00420   TGMenuBar          *fMenuBarCovssAll;         // 240
00421   Int_t               fMenuCovssAllColzC;
00422 
00423   TGLayoutHints      *fLayoutTxSubFrame;
00424 
00425   //----------------------------------- SubFrame Tower_Y (Button + EntryField)
00426   TGCompositeFrame   *fTySubFrame;
00427 
00428   TGCompositeFrame   *fTowYFrame;
00429   TGTextButton       *fTowYBut;
00430   Int_t               fTowYButC;
00431   TGLayoutHints      *fLayoutTowYBut;
00432   TGTextBuffer       *fEntryTowYNumber;
00433   TGTextEntry        *fTowYText;
00434   TGLayoutHints      *fLayoutTowYField;
00435 
00436   TGLayoutHints      *fLayoutTySubFrame;
00437 
00438   TGLayoutHints      *fLayoutTowSpFrame;         // 250
00439 
00440   //.................................. Menus for Horizontal frame (Tower_X + Tower_Y)
00441   TGPopupMenu        *fMenuCorcc; 
00442   TGMenuBar          *fMenuBarCorcc;   
00443   Int_t               fMenuCorccColzC, fMenuCorccLegoC; 
00444 
00445   TGPopupMenu        *fMenuCovcc;
00446   TGMenuBar          *fMenuBarCovcc;   
00447   Int_t               fMenuCovccColzC, fMenuCovccLegoC;    
00448 
00449   //++++++++++++++++++++++++ Horizontal frame channel number (tower_X crystal number) + sample number
00450   TGCompositeFrame   *fChSpFrame;
00451 
00452   //------------------------------------- SubFrame Channel (Button + EntryField)
00453   TGCompositeFrame   *fChSubFrame;
00454 
00455   TGCompositeFrame   *fChanFrame;
00456   TGTextButton       *fChanBut;
00457   Int_t               fChanButC;
00458   TGLayoutHints      *fLayoutChanBut;
00459   TGTextBuffer       *fEntryChanNumber;    // 260
00460   TGTextEntry        *fChanText;
00461   TGLayoutHints      *fLayoutChanField;
00462 
00463   //................................ Menus Tower_X crystal number
00464   TGPopupMenu        *fMenuCorss;
00465   TGMenuBar          *fMenuBarCorss;
00466   Int_t               fMenuCorssColzC, fMenuCorssLegoC, fMenuCorssSurf1C, fMenuCorssSurf4C;
00467 
00468   TGPopupMenu        *fMenuCovss;
00469   TGMenuBar          *fMenuBarCovss;
00470   Int_t               fMenuCovssColzC, fMenuCovssLegoC, fMenuCovssSurf1C, fMenuCovssSurf4C;
00471 
00472   TGPopupMenu        *fMenuEv;
00473   TGMenuBar          *fMenuBarEv;
00474   Int_t               fMenuEvLineFullC,  fMenuEvLineSameC;
00475 
00476   TGPopupMenu        *fMenuVar;
00477   TGMenuBar          *fMenuBarVar;          // 270  
00478   Int_t               fMenuVarLineFullC, fMenuVarLineSameC;
00479 
00480   TGLayoutHints      *fLayoutChSubFrame;
00481 
00482   //------------------------------------ SubFrame Sample (Button + EntryField)
00483   TGCompositeFrame   *fSpSubFrame;
00484 
00485   TGCompositeFrame   *fSampFrame;
00486   TGTextButton       *fSampBut;
00487   TGLayoutHints      *fLayoutSampBut;
00488   Int_t               fSampButC;
00489   TGTextEntry        *fSampText;
00490   TGTextBuffer       *fEntrySampNumber;
00491   TGLayoutHints      *fLayoutSampField;
00492 
00493   TGLayoutHints      *fLayoutSpSubFrame;
00494 
00495   //................................ Menus Sample number
00496 
00497   //     (no menu in this SubFrame)
00498 
00499   TGLayoutHints      *fLayoutChSpFrame;       // 280
00500 
00501   //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
00502   TGPopupMenu        *fMenuEvts;
00503   TGMenuBar          *fMenuBarEvts;
00504   TGLayoutHints      *fLayoutMenuBarEvts;
00505   Int_t               fMenuEvtsLineLinyFullC;
00506   Int_t               fMenuEvtsLineLinySameC;
00507 
00508   //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
00509 
00510   TGCompositeFrame   *fRulFrame;
00511   TGTextButton       *fRulBut;
00512   TGLayoutHints      *fLayoutRulBut;
00513   TGTextEntry        *fRulText;
00514   TGTextBuffer       *fEntryRulNumber;
00515   TGLayoutHints      *fLayoutRulFieldText;
00516   TGLayoutHints      *fLayoutRulFieldFrame;      // 290
00517 
00518   //................................ Menus for time evolution
00519   TGPopupMenu        *fMenuEvol;
00520   TGMenuBar          *fMenuBarEvol;
00521   Int_t               fMenuEvolEvEvPolmFullC,     fMenuEvolEvEvPolmSameC;
00522   Int_t               fMenuEvolEvSigPolmFullC,    fMenuEvolEvSigPolmSameC;
00523   Int_t               fMenuEvolEvCorssPolmFullC,  fMenuEvolEvCorssPolmSameC;
00524   Int_t               fMenuEvolSampLineFullC,     fMenuEvolSampLineSameC;
00525 
00526   //++++++++++++++++++++++++++++++++++++ LinLog Frame
00527   TGCompositeFrame   *fLinLogFrame;
00528 
00529   //---------------------------------- Lin/Log X
00530   TGCheckButton      *fButLogx;
00531   Int_t               fButLogxC; 
00532   TGLayoutHints      *fLayoutLogxBut;
00533   //---------------------------------- Lin/Log Y
00534   TGCheckButton      *fButLogy;
00535   Int_t               fButLogyC; 
00536   TGLayoutHints      *fLayoutLogyBut;
00537 
00538   //++++++++++++++++++++++++++++++++++++ EXIT BUTTON
00539   TGTextButton       *fButExit;
00540   Int_t               fButExitC;      
00541   TGLayoutHints      *fLayoutExitBut;
00542 
00543   //++++++++++++++++++++++++++++++++++++ Last Frame
00544   TGCompositeFrame   *fLastFrame;     // 300 
00545 
00546   //--------------------------------- Root version (Button)
00547   TGTextButton       *fButRoot;
00548   Int_t               fButRootC;
00549   TGLayoutHints      *fLayoutRootBut;
00550 
00551   //--------------------------------- Help (Button)
00552   TGTextButton       *fButHelp;
00553   Int_t               fButHelpC;
00554   TGLayoutHints      *fLayoutHelpBut;    // 304
00555 
00556   //==================================================== Miscellaneous parameters
00557   ifstream fFcin_rr;
00558   ifstream fFcin_lor;
00559 
00560   ofstream fFcout_f;
00561 
00562   //  TString  fFileNameForCnaPaths;     // name of the file containing the paths (cna_paths.ascii)
00563 
00564   TString  fFileForResultsRootFilePath; // name of the file containing the results .root file path
00565   TString  fFileForListOfRunFilePath;   // name of the file containing the list-of-run file path
00566 
00567   TString  fCfgResultsRootFilePath; // absolute path for the results .root files (/afs/etc...)
00568   TString  fCfgListOfRunsFilePath;  // absolute path for the list-of-runs .ascii  files (/afs/etc...)
00569 
00570   //  TString  fCfgResultsAsciiFilePath;    // absolute path for the ASCII files (/afs/etc...)
00571 
00572   TString  fKeyAnaType;         // Type of analysis
00573   TString  fKeyFileNameRunList; // Name of the file containing the run parameters list
00574   Int_t    fKeyRunNumber;       // Run number
00575   Int_t    fKeyFirstEvt;        // First Event number (to be analyzed)
00576   Int_t    fKeyNbOfEvts;        // Number of required events (events to be analyzed)
00577   TString  fKeyScaleX;
00578   TString  fKeyScaleY;
00579 
00580   //................... VISUALIZATION PARAMETERS  
00581   Int_t    fKeySuMoNumber;  // Super-Module number
00582   Int_t    fKeyTowXNumber;  // Tower X number
00583   Int_t    fKeyTowYNumber;  // Tower Y number
00584   Int_t    fKeyChanNumber;  // Channel number
00585   Int_t    fKeySampNumber;  // Sample number
00586 
00587   //................ TString run number + SM number for submit job batch
00588   TString  fKeyRunNumberTString;
00589   TString  fKeySuMoNumberTString;
00590 
00591   //................... ymin and ymax values
00592 
00593   Double_t fKeyVminFoundEvts; 
00594   Double_t fKeyVmaxFoundEvts;
00595  
00596   Double_t fKeyVminEvEv; 
00597   Double_t fKeyVmaxEvEv; 
00598 
00599   Double_t fKeyVminEvSig; 
00600   Double_t fKeyVmaxEvSig; 
00601 
00602   Double_t fKeyVminEvCorss; 
00603   Double_t fKeyVmaxEvCorss;
00604 
00605   Double_t fKeyVminSigEv; 
00606   Double_t fKeyVmaxSigEv; 
00607 
00608   Double_t fKeyVminSigSig; 
00609   Double_t fKeyVmaxSigSig; 
00610 
00611   Double_t fKeyVminSigCorss; 
00612   Double_t fKeyVmaxSigCorss; 
00613 
00614   Double_t fKeyVminEvCortt; 
00615   Double_t fKeyVmaxEvCortt;
00616 
00617   Double_t fKeyVminEvCovtt; 
00618   Double_t fKeyVmaxEvCovtt;
00619 
00620   //................... plot parameters (for onlyone,same options)
00621 
00622   TString  fMemoScaleX;
00623   TString  fMemoScaleY;
00624 
00625   TString  fOptPlotFull;
00626   TString  fOptPlotSame;
00627 
00628   //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00629 
00630  public:
00631            TCnaDialogEB(const TGWindow *, UInt_t, UInt_t);
00632   virtual  ~TCnaDialogEB();
00633 
00634   void     InitKeys();
00635 
00636   void     GetPathForResultsRootFiles();
00637   void     GetPathForResultsRootFiles(const TString);
00638   void     GetPathForListOfRunFiles();
00639   void     GetPathForListOfRunFiles(const TString);
00640 
00641   void     DisplayInEntryField(TGTextEntry*, Int_t&);
00642   void     DisplayInEntryField(TGTextEntry*, Double_t&);
00643   void     DisplayInEntryField(TGTextEntry*, const TString);
00644 
00645   void     DoButtonAna();
00646   void     DoButtonRun();
00647 
00648   void     DoButtonFev();
00649   void     DoButtonNoe();
00650   void     DoButtonSuMo();
00651   void     DoButtonSMNb();
00652 
00653   //########################################
00654   void     DoButtonVminFoundEvts();
00655   void     DoButtonVmaxFoundEvts();
00656 
00657   void     DoButtonVminEvEv();
00658   void     DoButtonVmaxEvEv();
00659 
00660   void     DoButtonVminEvSig();
00661   void     DoButtonVmaxEvSig();
00662 
00663   void     DoButtonVminEvCorss();
00664   void     DoButtonVmaxEvCorss();
00665 
00666   void     DoButtonVminSigEv();
00667   void     DoButtonVmaxSigEv();
00668 
00669   void     DoButtonVminSigSig();
00670   void     DoButtonVmaxSigSig();
00671 
00672   void     DoButtonVminSigCorss();
00673   void     DoButtonVmaxSigCorss();
00674 
00675   void     DoButtonVminEvCortt();
00676   void     DoButtonVmaxEvCortt();
00677 
00678   void     DoButtonVminEvCovtt();
00679   void     DoButtonVmaxEvCovtt();
00680 
00681   //########################################
00682 
00683   void     DoButtonTowX();
00684   void     DoButtonTowY();
00685 
00686   void     DoButtonChNb();
00687   void     DoButtonChan();
00688   void     DoButtonSamp();
00689 
00690   void     DoButtonRul();
00691 
00692   void     DoButtonLogx();
00693   void     DoButtonLogy();
00694 
00695   void     DoButtonHelp();
00696   void     DoButtonRoot();
00697   void     DoButtonExit();
00698 
00699   void     HandleMenu(Int_t);
00700   //  void     CloseWindow();
00701 
00702 
00703   //------------------- VISUALIZATION METHODS
00704 
00705   void      ViewMatrixCorrelationTowers(const TString);
00706   void      ViewMatrixCovarianceTowers(const TString);
00707   void      ViewMatrixCorrelationCrystals(const Int_t&, const Int_t&, const TString);
00708   void      ViewMatrixCovarianceCrystals(const Int_t&, const Int_t&, const TString);
00709   void      ViewMatrixCorrelationSamples(const Int_t&, const Int_t&, const TString);
00710   void      ViewMatrixCovarianceSamples(const Int_t&, const Int_t&, const TString);
00711 
00712   void      ViewSuperModuleFoundEvents();
00713   void      ViewSuperModuleMeanPedestals();
00714   void      ViewSuperModuleMeanOfSampleSigmas();
00715   void      ViewSuperModuleMeanOfCorss();
00716   void      ViewSuperModuleSigmaPedestals();
00717   void      ViewSuperModuleSigmaOfSampleSigmas();
00718   void      ViewSuperModuleSigmaOfCorss();
00719   void      ViewSuperModuleCorccMeanOverSamples();
00720 
00721   void      ViewTowerCorrelationSamples(const Int_t&);
00722   void      ViewTowerCovarianceSamples(const Int_t&);
00723   void      ViewTowerCrystalNumbering(const Int_t&);
00724   void      ViewSMTowerNumbering();
00725 
00726   void      ViewHistoSuperModuleFoundEventsOfCrystals(const TString);
00727   void      ViewHistoSuperModuleFoundEventsDistribution(const TString);
00728   void      ViewHistoSuperModuleMeanPedestalsOfCrystals(const TString);
00729   void      ViewHistoSuperModuleMeanPedestalsDistribution(const TString);
00730   void      ViewHistoSuperModuleMeanOfSampleSigmasOfCrystals(const TString);
00731   void      ViewHistoSuperModuleMeanOfSampleSigmasDistribution(const TString);
00732   void      ViewHistoSuperModuleMeanOfCorssOfCrystals(const TString);
00733   void      ViewHistoSuperModuleMeanOfCorssDistribution(const TString);
00734   void      ViewHistoSuperModuleSigmaPedestalsOfCrystals(const TString);
00735   void      ViewHistoSuperModuleSigmaPedestalsDistribution(const TString);
00736   void      ViewHistoSuperModuleSigmaOfSampleSigmasOfCrystals(const TString);
00737   void      ViewHistoSuperModuleSigmaOfSampleSigmasDistribution(const TString);
00738   void      ViewHistoSuperModuleSigmaOfCorssOfCrystals(const TString);
00739   void      ViewHistoSuperModuleSigmaOfCorssDistribution(const TString);
00740 
00741   void      ViewHistoCrystalExpectationValuesOfSamples(const Int_t&, const Int_t&, const TString);
00742   void      ViewHistoCrystalSigmasOfSamples(const Int_t&, const Int_t&, const TString);
00743   void      ViewHistoCrystalPedestalEventNumber(const Int_t&, const Int_t&, const TString);
00744 
00745   void      ViewHistoSampleEventDistribution(const Int_t&, const Int_t&, const Int_t&, const TString);
00746 
00747   void      ViewHistimeCrystalMeanPedestals(const TString, const Int_t&, const Int_t&, const TString);
00748   void      ViewHistimeCrystalMeanSigmas(const TString, const Int_t&, const Int_t&, const TString);
00749   void      ViewHistimeCrystalMeanCorss(const TString, const Int_t&, const Int_t&, const TString);
00750 
00751 
00752 ClassDef(TCnaDialogEB,1)// Dialog box + methods for CNA (Correlated Noises Analysis)
00753 
00754 };
00755 
00756 #endif   //    ZTR_TCnaDialogEB

Generated on Tue Jun 9 17:25:15 2009 for CMSSW by  doxygen 1.5.4