00001 #ifndef ZTR_TEcnaParPaths 00002 #define ZTR_TEcnaParPaths 00003 00004 #include <Riostream.h> 00005 00006 #include "TObject.h" 00007 #include "TSystem.h" 00008 #include "Riostream.h" 00009 00010 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h" 00011 00023 00024 class TEcnaParPaths : public TObject { 00025 00026 private: 00027 00028 //..... Attributes 00029 00030 Int_t fgMaxCar; // Max nb of caracters for char* 00031 00032 Int_t fCnew, fCdelete; 00033 Int_t fCnewRoot, fCdeleteRoot; 00034 00035 TString fTTBELL; 00036 00037 Int_t fCnaCommand, fCnaError; 00038 00039 ifstream fFcin_rr; // stream for results root files 00040 ifstream fFcin_ra; // stream for results ascii files 00041 ifstream fFcin_lor; // stream for list of runs files 00042 // ifstream fFcin_anapar; // stream for EcnaAnalyzer parameters files 00043 ifstream fFcin_cmssw; // stream for cmssw version and subsystem 00044 00045 TString fCfgResultsRootFilePath; // absolute path for the results .root files (/afs/etc...) 00046 TString fFileForResultsRootFilePath; // name of the file containing the results .root file path 00047 00048 TString fCfgResultsAsciiFilePath; // absolute path for the results .ascii files (/afs/etc...) 00049 TString fFileForResultsAsciiFilePath; // name of the file containing the results .ascii file path 00050 00051 TString fCfgHistoryRunListFilePath; // absolute path for the list-of-runs .ascii files (/afs/etc...) 00052 TString fFileForHistoryRunListFilePath; // name of the file containing the list-of-run file path 00053 00054 TString fCfgCMSSWBase; // CMSSW base user's directory 00055 TString fCfgCMSSWSubsystem; // CMSSW subsystem name 00056 TString fCfgSCRAMArch; // SCRAM ARCHITECTURE 00057 TString fFileForCMSSWParameters; // name of the file containing the CMSSW version, subsystem and slc 00058 00059 public: 00060 00061 //..... Methods 00062 00063 TEcnaParPaths(); 00064 TEcnaParPaths(TEcnaObject*); 00065 virtual ~TEcnaParPaths(); 00066 00067 void Init(); 00068 00069 Bool_t GetPathForResultsRootFiles(); 00070 Bool_t GetPathForResultsAsciiFiles(); 00071 Bool_t GetPathForHistoryRunListFiles(); 00072 void GetCMSSWParameters(); 00073 00074 Bool_t GetPathForResultsRootFiles(const TString); 00075 Bool_t GetPathForResultsAsciiFiles(const TString); 00076 Bool_t GetPathForHistoryRunListFiles(const TString); 00077 // Bool_t GetCMSSWParameters(const TString); 00078 00079 Bool_t GetPaths(); 00080 00081 TString ResultsRootFilePath(); 00082 TString ResultsAsciiFilePath(); 00083 TString HistoryRunListFilePath(); 00084 TString CMSSWBase(); 00085 TString CMSSWSubsystem(); 00086 TString SCRAMArch(); 00087 00088 void SetResultsRootFilePath(const TString); 00089 void SetResultsAsciiFilePath(const TString); 00090 void SetHistoryRunListFilePath(const TString); 00091 00092 void TruncateResultsRootFilePath(const Int_t&, const Int_t&); 00093 void TruncateResultsAsciiFilePath(const Int_t&, const Int_t&); 00094 00095 TString BeginningOfResultsRootFilePath(); 00096 TString BeginningOfResultsAsciiFilePath(); 00097 00098 void AppendResultsRootFilePath(const Text_t *); 00099 void AppendResultsAsciiFilePath(const Text_t *); 00100 00101 TString PathModulesData(); 00102 TString PathTestScramArch(); 00103 00104 00105 ClassDef(TEcnaParPaths,1)// Parameter management for ECNA (Ecal Correlated Noises Analysis) 00106 00107 }; 00108 00109 #endif // ZTR_TEcnaParPaths