Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

HecRunHeader2002v1.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////
00002 //   This class has been automatically generated 
00003 //     (Tue May 13 16:50:43 2003 by ROOT version3.05/05)
00004 //   from TTree h1000/run
00005 //   found on file: hec_12369.root
00006 //////////////////////////////////////////////////////////
00007 
00008 
00009 #ifndef HecRunHeader2002v1_h
00010 #define HecRunHeader2002v1_h
00011 
00012 #include <TROOT.h>
00013 #include <TChain.h>
00014 #include <TFile.h>
00015 #include <string>
00016 #include <iostream>
00017 
00018 using std::string;
00019 using std::cout;
00020 using std::endl;
00021 
00022 /*! - Class HecRunHeader2002v1
00023   * - Author: Ian Gable (igable@uvic.ca)
00024   * - Date:  05/27/2003
00025   * - Description: This class was created by root 3.05/05. Use it to access the information
00026   *      contained in the Hec Run Header.
00027   */
00028 
00029 class HecRunHeader2002v1 {
00030    public :
00031    TTree          *fChain;   //!pointer to the analyzed TTree or TChain
00032    Int_t           fCurrent; //!current Tree number in a TChain
00033 
00034 
00035 
00036 
00037    //! first FEB channel number
00038    UInt_t getFirstCh(){ return first_ch;};
00039 
00040    //! last FEB channel number
00041    UInt_t getLastCh(){ return last_ch;};
00042 
00043    //! peak finding method (polynomial=1, digital filtering=2)
00044    Int_t peakMethod() {return peakf; };
00045 
00046    //! cal Version number of calibration file (if digital filtering is used)
00047    UInt_t calVersion(){ return cal_version;};
00048 
00049    //! Version number of weight parameters files (if digital filtering is used)
00050    UInt_t digVersion(){ return dig_version;};
00051 
00052    //! Shower model type ("0" for real data)
00053    UInt_t getShower(){ return shower;};
00054 
00055    //! Unit of energy (ADC=1, nA=2)
00056    UInt_t getEUnit() { return eunit;};
00057 
00058    //! The number of adc channels
00059    Int_t getCellsUsed(){ return cells_used;};
00060 
00061    //! the pedestal rms
00062    Float_t getPedRms(int febno){
00063      if(febno >= getFirstCh() && febno <= getLastCh() ){
00064        return ped_rms[febno-1];
00065      } else {
00066        cout << "Ped RMS accessed out of bounds at: " << febno <<endl;
00067        exit(1);
00068      }
00069    }
00070    
00071    //! the global timing type (<= 0 is TDC, >0 is cubic)
00072    UInt_t getTimingType() { return timing_type;};
00073 
00074   //! return the name of the data file read in.
00075   string getDataFileName(){ return m_fileName;};
00076 
00077   void setDataFileName(string fileName){ m_fileName =fileName;};
00078 
00079 //private:
00080 
00081 //Declaration of leaves types
00082     string  m_fileName;
00083    UInt_t          first_ch;
00084    UInt_t          last_ch;
00085    Int_t           peakf;
00086    UInt_t          cal_version;
00087    UInt_t          dig_version;
00088    UInt_t          shower;
00089    UInt_t          eunit;
00090    Int_t           cells_used;
00091    Float_t         ped_rms[1152];   //[cells_used]
00092    Int_t           ieta[1152];   //[cells_used]
00093    Int_t           iphi[1152];   //[cells_used]
00094    Int_t           iz[1152];   //[cells_used]
00095    Int_t           ieta_atlas[1152];   //[cells_used]
00096    Int_t           iphi_atlas[1152];   //[cells_used]
00097    Int_t           iz_atlas[1152];   //[cells_used]
00098    Float_t         Signalovernoise_cut;
00099    Float_t         Resolutioncoeffa;
00100    Float_t         Resolutioncoeffb;
00101    Int_t           Timehec_sample_low;
00102    Float_t         Timehec_low_signal_cut;
00103    Float_t         Timehec_int_signal_scale;
00104    Float_t         Timehec_int_signal_dt;
00105    Int_t           Timeemec_sample_low;
00106    Float_t         Timeemec_low_signal_cut;
00107    Float_t         Timeemec_int_signal_scale;
00108    Float_t         Timeemec_int_signal_dt;
00109    UInt_t          timing_type;
00110    Float_t         t0_dig;
00111    Float_t         t0_cub_c;
00112    Float_t         t0_cub_epi;
00113    Float_t         t0_cub_mu;
00114    Int_t           t0_cub_trig;
00115    Int_t           tdc_wac_c;
00116    Int_t           tdc_wac_epi;
00117    Int_t           tdc_wac_mu;
00118    Int_t           tdc_wac_reference;
00119    UInt_t          tdc_guard_region;
00120    Int_t           tdc_force_wac;
00121    Int_t           sample_low;
00122    Float_t         low_signal_cut;
00123    Float_t         int_signal_scale;
00124    Float_t         int_signal_dt;
00125 
00126 //List of branches
00127    TBranch        *b_first_ch;   //!
00128    TBranch        *b_last_ch;   //!
00129    TBranch        *b_peakf;   //!
00130    TBranch        *b_cal_version;   //!
00131    TBranch        *b_dig_version;   //!
00132    TBranch        *b_shower;   //!
00133    TBranch        *b_eunit;   //!
00134    TBranch        *b_cells_used;   //!
00135    TBranch        *b_ped_rms;   //!
00136    TBranch        *b_ieta;   //!
00137    TBranch        *b_iphi;   //!
00138    TBranch        *b_iz;   //!
00139    TBranch        *b_ieta_atlas;   //!
00140    TBranch        *b_iphi_atlas;   //!
00141    TBranch        *b_iz_atlas;   //!
00142    TBranch        *b_Signalovernoise_cut;   //!
00143    TBranch        *b_Resolutioncoeffa;   //!
00144    TBranch        *b_Resolutioncoeffb;   //!
00145    TBranch        *b_Timehec_sample_low;   //!
00146    TBranch        *b_Timehec_low_signal_cut;   //!
00147    TBranch        *b_Timehec_int_signal_scale;   //!
00148    TBranch        *b_Timehec_int_signal_dt;   //!
00149    TBranch        *b_Timeemec_sample_low;   //!
00150    TBranch        *b_Timeemec_low_signal_cut;   //!
00151    TBranch        *b_Timeemec_int_signal_scale;   //!
00152    TBranch        *b_Timeemec_int_signal_dt;   //!
00153    TBranch        *b_timing_type;   //!
00154    TBranch        *b_t0_dig;   //!
00155    TBranch        *b_t0_cub_c;   //!
00156    TBranch        *b_t0_cub_epi;   //!
00157    TBranch        *b_t0_cub_mu;   //!
00158    TBranch        *b_t0_cub_trig;   //!
00159    TBranch        *b_tdc_wac_c;   //!
00160    TBranch        *b_tdc_wac_epi;   //!
00161    TBranch        *b_tdc_wac_mu;   //!
00162    TBranch        *b_tdc_wac_reference;   //!
00163    TBranch        *b_tdc_guard_region;   //!
00164    TBranch        *b_tdc_force_wac;   //!
00165    TBranch        *b_sample_low;   //!
00166    TBranch        *b_low_signal_cut;   //!
00167    TBranch        *b_int_signal_scale;   //!
00168    TBranch        *b_int_signal_dt;   //!
00169 
00170    HecRunHeader2002v1(TTree *tree=0,string fileName=0);
00171    ~HecRunHeader2002v1();
00172    Int_t  Cut(Int_t entry);
00173    Int_t  GetEntry(Int_t entry);
00174    Int_t  LoadTree(Int_t entry);
00175    void   Init(TTree *tree);
00176    void   Loop();
00177    Bool_t Notify();
00178    void   Show(Int_t entry = -1);
00179 
00180 };
00181 
00182 
00183 
00184 #endif
00185 
00186 #ifdef HecRunHeader2002v1_cxx
00187 HecRunHeader2002v1::HecRunHeader2002v1(TTree *tree,string fileName)
00188 {
00189 // if parameter tree is not specified (or zero), connect the file
00190 // used to generate this class and read the Tree.
00191    TFile *f ;
00192    if (tree == 0) {
00193          f = new TFile(fileName.c_str());
00194 
00195       tree = (TTree*)f->Get("h1000");
00196 
00197    }
00198    Init(tree);
00199 }
00200 
00201 HecRunHeader2002v1::~HecRunHeader2002v1()
00202 {
00203    if (!fChain) return;
00204    delete fChain->GetCurrentFile();
00205 }
00206 
00207 Int_t HecRunHeader2002v1::GetEntry(Int_t entry)
00208 {
00209 // Read contents of entry.
00210    if (!fChain) return 0;
00211    return fChain->GetEntry(entry);
00212 }
00213 Int_t HecRunHeader2002v1::LoadTree(Int_t entry)
00214 {
00215 // Set the environment to read one entry
00216    if (!fChain) return -5;
00217    Int_t centry = fChain->LoadTree(entry);
00218    if (centry < 0) return centry;
00219    if (fChain->IsA() != TChain::Class()) return centry;
00220    TChain *chain = (TChain*)fChain;
00221    if (chain->GetTreeNumber() != fCurrent) {
00222       fCurrent = chain->GetTreeNumber();
00223       Notify();
00224    }
00225    return centry;
00226 }
00227 
00228 void HecRunHeader2002v1::Init(TTree *tree)
00229 {
00230 //   Set branch addresses
00231    if (tree == 0) return;
00232    fChain    = tree;
00233    fCurrent = -1;
00234    fChain->SetMakeClass(1);
00235 
00236    fChain->SetBranchAddress("first_ch",&first_ch);
00237    fChain->SetBranchAddress("last_ch",&last_ch);
00238    fChain->SetBranchAddress("peakf",&peakf);
00239    fChain->SetBranchAddress("cal_version",&cal_version);
00240    fChain->SetBranchAddress("dig_version",&dig_version);
00241    fChain->SetBranchAddress("shower",&shower);
00242    fChain->SetBranchAddress("eunit",&eunit);
00243    fChain->SetBranchAddress("cells_used",&cells_used);
00244    fChain->SetBranchAddress("ped_rms",ped_rms);
00245    fChain->SetBranchAddress("ieta",ieta);
00246    fChain->SetBranchAddress("iphi",iphi);
00247    fChain->SetBranchAddress("iz",iz);
00248    fChain->SetBranchAddress("ieta_atlas",ieta_atlas);
00249    fChain->SetBranchAddress("iphi_atlas",iphi_atlas);
00250    fChain->SetBranchAddress("iz_atlas",iz_atlas);
00251    fChain->SetBranchAddress("Signalovernoise_cut",&Signalovernoise_cut);
00252    fChain->SetBranchAddress("Resolutioncoeffa",&Resolutioncoeffa);
00253    fChain->SetBranchAddress("Resolutioncoeffb",&Resolutioncoeffb);
00254    fChain->SetBranchAddress("Timehec_sample_low",&Timehec_sample_low);
00255    fChain->SetBranchAddress("Timehec_low_signal_cut",&Timehec_low_signal_cut);
00256    fChain->SetBranchAddress("Timehec_int_signal_scale",&Timehec_int_signal_scale);
00257    fChain->SetBranchAddress("Timehec_int_signal_dt",&Timehec_int_signal_dt);
00258    fChain->SetBranchAddress("Timeemec_sample_low",&Timeemec_sample_low);
00259    fChain->SetBranchAddress("Timeemec_low_signal_cut",&Timeemec_low_signal_cut);
00260    fChain->SetBranchAddress("Timeemec_int_signal_scale",&Timeemec_int_signal_scale);
00261    fChain->SetBranchAddress("Timeemec_int_signal_dt",&Timeemec_int_signal_dt);
00262    fChain->SetBranchAddress("timing_type",&timing_type);
00263    fChain->SetBranchAddress("t0_dig",&t0_dig);
00264    fChain->SetBranchAddress("t0_cub_c",&t0_cub_c);
00265    fChain->SetBranchAddress("t0_cub_epi",&t0_cub_epi);
00266    fChain->SetBranchAddress("t0_cub_mu",&t0_cub_mu);
00267    fChain->SetBranchAddress("t0_cub_trig",&t0_cub_trig);
00268    fChain->SetBranchAddress("tdc_wac_c",&tdc_wac_c);
00269    fChain->SetBranchAddress("tdc_wac_epi",&tdc_wac_epi);
00270    fChain->SetBranchAddress("tdc_wac_mu",&tdc_wac_mu);
00271    fChain->SetBranchAddress("tdc_wac_reference",&tdc_wac_reference);
00272    fChain->SetBranchAddress("tdc_guard_region",&tdc_guard_region);
00273    fChain->SetBranchAddress("tdc_force_wac",&tdc_force_wac);
00274    fChain->SetBranchAddress("sample_low",&sample_low);
00275    fChain->SetBranchAddress("low_signal_cut",&low_signal_cut);
00276    fChain->SetBranchAddress("int_signal_scale",&int_signal_scale);
00277    fChain->SetBranchAddress("int_signal_dt",&int_signal_dt);
00278    Notify();
00279 }
00280 
00281 Bool_t HecRunHeader2002v1::Notify()
00282 {
00283    // Called when loading a new file.
00284    // Get branch pointers.
00285    b_first_ch = fChain->GetBranch("first_ch");
00286    b_last_ch = fChain->GetBranch("last_ch");
00287    b_peakf = fChain->GetBranch("peakf");
00288    b_cal_version = fChain->GetBranch("cal_version");
00289    b_dig_version = fChain->GetBranch("dig_version");
00290    b_shower = fChain->GetBranch("shower");
00291    b_eunit = fChain->GetBranch("eunit");
00292    b_cells_used = fChain->GetBranch("cells_used");
00293    b_ped_rms = fChain->GetBranch("ped_rms");
00294    b_ieta = fChain->GetBranch("ieta");
00295    b_iphi = fChain->GetBranch("iphi");
00296    b_iz = fChain->GetBranch("iz");
00297    b_ieta_atlas = fChain->GetBranch("ieta_atlas");
00298    b_iphi_atlas = fChain->GetBranch("iphi_atlas");
00299    b_iz_atlas = fChain->GetBranch("iz_atlas");
00300    b_Signalovernoise_cut = fChain->GetBranch("Signalovernoise_cut");
00301    b_Resolutioncoeffa = fChain->GetBranch("Resolutioncoeffa");
00302    b_Resolutioncoeffb = fChain->GetBranch("Resolutioncoeffb");
00303    b_Timehec_sample_low = fChain->GetBranch("Timehec_sample_low");
00304    b_Timehec_low_signal_cut = fChain->GetBranch("Timehec_low_signal_cut");
00305    b_Timehec_int_signal_scale = fChain->GetBranch("Timehec_int_signal_scale");
00306    b_Timehec_int_signal_dt = fChain->GetBranch("Timehec_int_signal_dt");
00307    b_Timeemec_sample_low = fChain->GetBranch("Timeemec_sample_low");
00308    b_Timeemec_low_signal_cut = fChain->GetBranch("Timeemec_low_signal_cut");
00309    b_Timeemec_int_signal_scale = fChain->GetBranch("Timeemec_int_signal_scale");
00310    b_Timeemec_int_signal_dt = fChain->GetBranch("Timeemec_int_signal_dt");
00311    b_timing_type = fChain->GetBranch("timing_type");
00312    b_t0_dig = fChain->GetBranch("t0_dig");
00313    b_t0_cub_c = fChain->GetBranch("t0_cub_c");
00314    b_t0_cub_epi = fChain->GetBranch("t0_cub_epi");
00315    b_t0_cub_mu = fChain->GetBranch("t0_cub_mu");
00316    b_t0_cub_trig = fChain->GetBranch("t0_cub_trig");
00317    b_tdc_wac_c = fChain->GetBranch("tdc_wac_c");
00318    b_tdc_wac_epi = fChain->GetBranch("tdc_wac_epi");
00319    b_tdc_wac_mu = fChain->GetBranch("tdc_wac_mu");
00320    b_tdc_wac_reference = fChain->GetBranch("tdc_wac_reference");
00321    b_tdc_guard_region = fChain->GetBranch("tdc_guard_region");
00322    b_tdc_force_wac = fChain->GetBranch("tdc_force_wac");
00323    b_sample_low = fChain->GetBranch("sample_low");
00324    b_low_signal_cut = fChain->GetBranch("low_signal_cut");
00325    b_int_signal_scale = fChain->GetBranch("int_signal_scale");
00326    b_int_signal_dt = fChain->GetBranch("int_signal_dt");
00327    return kTRUE;
00328 
00329 }
00330 
00331 void HecRunHeader2002v1::Show(Int_t entry)
00332 {
00333 // Print contents of entry.
00334 // If entry is not specified, print current entry
00335    if (!fChain) return;
00336    fChain->Show(entry);
00337 }
00338 Int_t HecRunHeader2002v1::Cut(Int_t entry)
00339 {
00340 // This function may be called from Loop.
00341 // returns  1 if entry is accepted.
00342 // returns -1 otherwise.
00343    return 1;
00344 }
00345 #endif // #ifdef HecRunHeader2002v1_cxx
00346 

Generated on Fri Aug 15 10:52:04 2003 for TBRootAna by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002