Changeset 6553 for trunk/MagicSoft/Mars


Ignore:
Timestamp:
02/16/05 19:53:21 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r6549 r6553  
    2121
    2222                                                 -*-*- END OF LINE -*-*-
     23
    2324 2005/02/16 Javier Rico
    2425
     
    3839       branch containing the energy estimator). This may be used
    3940       as layout for spectrum computation program.
    40        
    41  2005/02/16 Abelardo Moralejo
    42 
    43    * mtemp/mpadova/macros/resize.C
    44      - Changed weights
     41
     42
     43
     44 2005/02/16 Markus Gaug
     45
     46   * mdata/MDataChain.cc
     47     - replaced ROOT version check for the compiler from 4.02.00 to
     48       4.01.00
     49
     50   * mranforest/MRFEnergyEst.cc
     51     - include "TVector.h", otherwise this class does not compile
     52       in newer root versions
     53
     54   * msignal/MExtractTimeAndCharge.cc
     55     - initialize fLoGainStartShift correctly if read from conf. file
     56       and modified fOffsetLoGain exists.
     57
     58   * msignal/*weights*.dat
     59     - new weights with the uniform pedestal RMS. (Please use these!)
     60
     61   * msignal/pulpo_weights*.dat
     62     - new weights with the pulpo-pulse form and without NSB!!
     63
     64
    4565
    4666 2005/02/16 Thomas Hengstebeck
     67
     68   * mranforest/MRFEnergyEst.[h,cc]
     69     - added RF class for energy estimation
    4770
    4871   * mranforest/MRFEnergyEst.cc
     
    5073       are returned                                                                             
    5174
    52  2005/02/16 Abelardo Moralejo
    53 
    54    * mhistmc/MHMcCollectionArea.cc
    55      - Changed default fName to "MHMcCollectionArea"
    56 
    57  2005/02/16 Markus Gaug
    58 
    59    * mdata/MDataChain.cc
    60      - replaced ROOT version check for the compiler from 4.02.00 to
    61        4.01.00
    62 
    63    * mranforest/MRFEnergyEst.cc
    64      - include "TVector.h", otherwise this class does not compile
    65        in newer root versions
    66 
    67    * msignal/MExtractTimeAndCharge.cc
    68      - initialize fLoGainStartShift correctly if read from conf. file
    69        and modified fOffsetLoGain exists.
    70 
    71    * msignal/*weights*.dat
    72      - new weights with the uniform pedestal RMS. (Please use these!)
    73 
    74    * msignal/pulpo_weights*.dat
    75      - new weights with the pulpo-pulse form and without NSB!!
    76 
    77 
    78  2005/02/16 Thomas Hengstebeck
    79 
    80    * mranforest/MRFEnergyEst.[h,cc]
    81      - added RF class for energy estimation
    8275
    8376
     
    8982       MWriteRootFile::AddCopySource
    9083
     84   * mhistmc/MHMcCollectionArea.cc
     85     - Changed default fName to "MHMcCollectionArea"
     86
     87   * mtemp/mpadova/macros/resize.C
     88     - Changed weights
     89
    9190
    9291
     
    121120   * mranforest/MRFEnergyEst.[h,cc]:
    122121     - cleaned up includes
     122
     123   * callisto.cc, ganymed.cc, star.cc:
     124     - implemented enhanced handling of resource debugging
     125
     126   * mbase/Makefile, mbase/BaseLinkDef.h:
     127     - added MEnv
     128
     129   * mbase/MEnv.[h,cc]:
     130     - added
     131
     132   * mjobs/MJob.[h,cc]:
     133     - added new function to allow distribution of extranl MEnv
     134     - replaced Bool_t by Int_t for fEnvDebug
     135
     136   * mjobs/MJPedestal.cc:
     137     - adapted to changes of EnvDebug
    123138
    124139
  • trunk/MagicSoft/Mars/NEWS

    r6500 r6553  
    8181      camera files.
    8282
     83    - enhanced possibility to debug reading of resource file
     84
    8385
    8486
  • trunk/MagicSoft/Mars/callisto.cc

    r6466 r6553  
    99#include "MLogManip.h"
    1010
     11#include "MEnv.h"
    1112#include "MArgs.h"
    1213#include "MArray.h"
     
    5960    gLog << " Options:" << endl;
    6061    gLog.Usage();
    61     gLog << "   --debug-env               Debug setting resources from file" << endl;
     62    gLog << "   --debug-env=0             Disable debugging setting resources <default>" << endl;
     63    gLog << "   --debug-env[=1]           Display untouched resources after program execution" << endl;
     64    gLog << "   --debug-env=2             Display untouched resources after eventloop setup" << endl;
     65    gLog << "   --debug-env=3             Debug setting resources from resource file" << endl;
    6266    gLog << "   --debug-mem               Debug memory usage" << endl << endl;
    6367    gLog << endl;
     
    150154    const Bool_t  kPrintFound = arg.HasOnlyAndRemove("--print-found");
    151155    const Bool_t  kUseTest    = arg.HasOnlyAndRemove("--use-test");
    152     const Bool_t  kDebugEnv   = arg.HasOnlyAndRemove("--debug-env");
    153156    const Bool_t  kDebugMem   = arg.HasOnlyAndRemove("--debug-mem");
     157    Int_t kDebugEnv = arg.HasOnlyAndRemove("--debug-env") ? 1 : 0;
     158    kDebugEnv = arg.GetIntAndRemove("--debug-env=", kDebugEnv);
    154159
    155160    const Bool_t  kQuit       = arg.HasOnlyAndRemove("-q");
     
    235240    {
    236241        gLog << err << "Sorry, sequence file '" << kSequence << "' doesn't exist." << endl;
     242        return -1;
     243    }
     244
     245    if (gSystem->AccessPathName(kConfig, kFileExists))
     246    {
     247        gLog << err << "Sorry, config file '" << kConfig << "' doesn't exist." << endl;
    237248        return -1;
    238249    }
     
    309320    d->SetTitle(kSequence);
    310321
     322    MEnv env(kConfig);
    311323    if (kModeC/* || kUseTest*/)
    312324    {
     
    317329        job1.SetNoStorage();
    318330        job1.SetSequence(seq);
    319         job1.SetEnv(kConfig);
     331        job1.SetEnv(&env);
    320332        job1.SetEnvDebug(kDebugEnv);
    321333        job1.SetDisplay(d);
     
    346358        job2.SetNoStorage();
    347359        job2.SetSequence(seq);
    348         job2.SetEnv(kConfig);
     360        job2.SetEnv(&env);
    349361        job2.SetEnvDebug(kDebugEnv);
    350362        job2.SetDisplay(d);;
     
    380392            MJCalibration job3(Form("MJCalibration #%d", seq.GetSequence()));
    381393            job3.SetSequence(seq);
    382             job3.SetEnv(kConfig);
     394            job3.SetEnv(&env);
    383395            job3.SetEnvDebug(kDebugEnv);
    384396            job3.SetDisplay(d);
     
    411423            job4.SetBadPixels(job2.GetBadPixels());
    412424            job4.SetSequence(seq);
    413             job4.SetEnv(kConfig);
     425            job4.SetEnv(&env);
    414426            job4.SetEnvDebug(kDebugEnv);
    415427            job4.SetDisplay(d);;
     
    431443            }
    432444        }
     445        if (kDebugEnv>0)
     446            env.PrintUntouched();
    433447    }
    434448
     
    443457        job1.SetNoStorage();
    444458        job1.SetSequence(seq);
    445         job1.SetEnv(kConfig);
     459        job1.SetEnv(&env);
    446460        job1.SetEnvDebug(kDebugEnv);
    447461        job1.SetDisplay(d);
     
    473487        job2.SetNoStorage();
    474488        job2.SetSequence(seq);
    475         job2.SetEnv(kConfig);
     489        job2.SetEnv(&env);
    476490        job2.SetEnvDebug(kDebugEnv);
    477491        job2.SetDisplay(d);
     
    508522        job3.SetNoStorage();
    509523        job3.SetSequence(seq);
    510         job3.SetEnv(kConfig);
     524        job3.SetEnv(&env);
    511525        job3.SetEnvDebug(kDebugEnv);
    512526        job3.SetDisplay(d);
     
    543557        job4.SetSequence(seq);
    544558        job4.SetDisplay(d);;
    545         job4.SetEnv(kConfig);
     559        job4.SetEnv(&env);
    546560        job4.SetEnvDebug(kDebugEnv);
    547561        job4.SetOverwrite(kOverwrite);
     
    560574            return 1;
    561575        }
     576
     577        if (kDebugEnv>0)
     578            env.PrintUntouched();
    562579    }
    563580
  • trunk/MagicSoft/Mars/ganymed.cc

    r6453 r6553  
    99#include "MLogManip.h"
    1010
     11#include "MEnv.h"
    1112#include "MArgs.h"
    1213#include "MArray.h"
     
    4950    gLog << " Options:" << endl;
    5051    gLog.Usage();
    51     gLog << "   --debug-env               Debug setting resources from file" << endl;
     52    gLog << "   --debug-env=0             Disable debugging setting resources <default>" << endl;
     53    gLog << "   --debug-env[=1]           Display untouched resources after program execution" << endl;
     54    gLog << "   --debug-env=2             Display untouched resources after eventloop setup" << endl;
     55    gLog << "   --debug-env=3             Debug setting resources from resource file" << endl;
    5256    gLog << "   --debug-mem               Debug memory usage" << endl << endl;
    5357    gLog << endl;
     
    9397    const Bool_t  kPrintSeq     = arg.HasOnlyAndRemove("--print-seq");
    9498    const Bool_t  kPrintFiles   = arg.HasOnlyAndRemove("--print-files");
    95     const Bool_t  kDebugEnv     = arg.HasOnlyAndRemove("--debug-env");
    9699    const Bool_t  kDebugMem     = arg.HasOnlyAndRemove("--debug-mem");
    97100    const Bool_t  kWriteOnly    = arg.HasOnlyAndRemove("--write-only");
     101    Int_t  kDebugEnv = arg.HasOnlyAndRemove("--debug-env") ? 1 : 0;
     102    kDebugEnv = arg.GetIntAndRemove("--debug-env=", kDebugEnv);
    98103
    99104    const Bool_t  kQuit         = arg.HasOnlyAndRemove("-q");
     
    137142    }
    138143
     144    if (gSystem->AccessPathName(kConfig, kFileExists))
     145    {
     146        gLog << err << "Sorry, config file '" << kConfig << "' doesn't exist." << endl;
     147        return -1;
     148    }
     149
    139150    if (kDebugMem)
    140151        TObject::SetObjectStat(kTRUE);
     
    184195    // Calculate pedestal for pedestal-calculation and calibration
    185196    //
     197    MEnv env(kConfig);
     198
    186199    MJCut job(Form("MJCut #%d", seq.GetNumAnalysis()));
    187     job.SetEnv(kConfig);
     200    job.SetEnv(&env);
    188201    job.SetEnvDebug(kDebugEnv);
    189202    job.SetDisplay(d);;
     
    204217        return -1;
    205218    }
     219    if (kDebugEnv>0)
     220        env.PrintUntouched();
    206221
    207222    if (!job.GetDisplay())
  • trunk/MagicSoft/Mars/mbase/BaseLinkDef.h

    r5832 r6553  
    2222#pragma link C++ namespace MMath;
    2323#pragma link C++ class MString+;
     24#pragma link C++ class MEnv+;
    2425#pragma link C++ class MIter+;
    2526#pragma link C++ class MDirIter+;
  • trunk/MagicSoft/Mars/mbase/Makefile

    r4964 r6553  
    2222           MString.cc \
    2323           MMath.cc \
     24           MEnv.cc \
    2425           MLog.cc \
    2526           MLogManip.cc \
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r6502 r6553  
    802802    tenv.SetDefault(fExtractor);
    803803
    804     if (tenv.ReadEnv(*GetEnv(), GetEnvPrefix()+".ExtractSignal", GetEnvDebug())==kERROR)
     804    if (tenv.ReadEnv(*GetEnv(), GetEnvPrefix()+".ExtractSignal", GetEnvDebug()>2)==kERROR)
    805805        return kFALSE;
    806806
  • trunk/MagicSoft/Mars/mjobs/MJob.cc

    r6177 r6553  
    2929// A base class for jobs
    3030//
     31// SetDebugEnv(0) // switch off debugging
     32// SetDebugEnv(1) // reserved
     33// SetDebugEnv(2) // print untouched resources after evtloop resources setup
     34// SetDebugEnv(3) // do 2) and debug setting env completely
     35//
    3136/////////////////////////////////////////////////////////////////////////////
    3237#include "MJob.h"
    3338
    34 #include <TEnv.h>
     39#include "MEnv.h"
    3540#include <TFile.h>
    3641#include <TSystem.h>
     
    5459// Sets fDataFlag to 0
    5560//
    56 MJob::MJob(const char *name, const char *title) : fEnv(0), fOverwrite(kFALSE), fMaxEvents(0)
     61MJob::MJob(const char *name, const char *title) : fEnv(0), fEnvDebug(0), fOverwrite(kFALSE), fMaxEvents(0)
    5762 
    5863{
     
    6166}
    6267
     68void MJob::ClearEnv()
     69{
     70    if (fEnv && TestBit(kIsOwner))
     71        delete fEnv;
     72    ResetBit(kIsOwner);
     73    fEnv=0;
     74}
     75
    6376MJob::~MJob()
    6477{
    65     if (fEnv)
    66         delete fEnv;
     78    ClearEnv();
    6779}
    6880
    6981Bool_t MJob::SetEnv(const char *env, const char *prefix)
    7082{
    71     if (fEnv)
    72     {
    73         delete fEnv;
    74         fEnv = 0;
    75     }
     83    ClearEnv();
    7684
    7785    const Bool_t fileexist = !gSystem->AccessPathName(env, kFileExists);
     
    8290    }
    8391
    84     fEnv = new TEnv(env);
     92    fEnv = new MEnv(env);
     93    SetBit(kIsOwner);
    8594
    8695    fEnvPrefix = prefix;
     
    94103}
    95104
     105void MJob::SetEnv(MEnv *env, const char *prefix)
     106{
     107    ClearEnv();
     108
     109    fEnv = env;
     110
     111    fEnvPrefix = prefix;
     112    if (!prefix)
     113        fEnvPrefix = fName.First(' ')>0 ? fName(0, fName.First(' ')) : fName;
     114
     115    if (fEnvPrefix.EndsWith("."))
     116        fEnvPrefix.Remove(fEnvPrefix.Length()-1);
     117}
     118
    96119void MJob::FixPath(TString &path) const
    97120{
     
    123146}
    124147
     148const TEnv *MJob::GetEnv() const
     149{
     150    return static_cast<const TEnv *const>(fEnv);
     151}
     152
    125153Int_t MJob::GetEnv(const char *name, Int_t dflt) const
    126154{
     
    140168Bool_t MJob::HasEnv(const char *name) const
    141169{
    142     return IsEnvDefined(*fEnv, fEnvPrefix, name, fEnvDebug);//fEnv->Lookup(Form("%s%s", fEnvPrefix.Data(), name));
     170    return IsEnvDefined(*fEnv, fEnvPrefix, name, fEnvDebug>2);//fEnv->Lookup(Form("%s%s", fEnvPrefix.Data(), name));
    143171}
    144172
     
    163191    SetMaxEvents(GetEnv("MaxEvents", fMaxEvents));
    164192    SetOverwrite(GetEnv("Overwrite", fOverwrite));
     193    SetEnvDebug( GetEnv("EnvDebug",  fEnvDebug));
    165194
    166195    return CheckEnvLocal();
     
    172201        return kTRUE;
    173202
    174     return loop.ReadEnv(*fEnv, fEnvPrefix, fEnvDebug) ? kTRUE : kFALSE;
     203    if (!loop.ReadEnv(*fEnv, fEnvPrefix, fEnvDebug>2))
     204        return kFALSE;
     205
     206    if (fEnvDebug>1)
     207        fEnv->PrintUntouched();
     208
     209    return kTRUE;
    175210}
    176211
  • trunk/MagicSoft/Mars/mjobs/MJob.h

    r6177 r6553  
    66#endif
    77
    8 class TEnv;
     8class MEnv;
    99class MEvtLoop;
    1010
     
    1212{
    1313private:
     14    enum { kIsOwner = BIT(14) };
     15
    1416    void FixPath(TString &path) const;
     17    void ClearEnv();
    1518
    16     const TEnv *fEnv;         // Resource file
     19    const MEnv *fEnv;         // Resource file
    1720    TString     fEnvPrefix;   // Prefix for resources
    18     Bool_t      fEnvDebug;    // Debug setup of resources
     21    Int_t       fEnvDebug;    // Debug setup of resources
    1922
    2023protected:
    21 
    2224    TString   fPathOut;       // Directory to write output file to (eg. calib*.root)
    2325    TString   fPathIn;        // Directory to read output from (eg. calib*.root)
     
    2931    MSequence fSequence;      // Sequence
    3032
    31     const TEnv *GetEnv() const { return fEnv; }
     33    const TEnv *GetEnv() const;
     34    const MEnv *GetMEnv() const { return fEnv; }
    3235    const TString &GetEnvPrefix() const { return fEnvPrefix; }
    33     Bool_t GetEnvDebug() const { return fEnvDebug; }
     36    Int_t GetEnvDebug() const { return fEnvDebug; }
    3437
    3538    Int_t       GetEnv(const char *name, Int_t dflt) const;
     
    4043    Bool_t SetupEnv(MEvtLoop &loop) const;
    4144    Bool_t CheckEnv();
     45    void PrintUntouchedEnv() const;
    4246    virtual Bool_t CheckEnvLocal() { return kTRUE; }
    4347
     
    5761    void   SetOverwrite(Bool_t b=kTRUE) { fOverwrite=b; }
    5862    Bool_t SetEnv(const char *env, const char *prefix=0);
    59     void   SetEnvDebug(Bool_t b=kTRUE) { fEnvDebug=b; }
     63    void   SetEnv(MEnv *env, const char *prefix=0);
     64    void   SetEnvDebug(Int_t d=2) { fEnvDebug=d; }
    6065
    6166    void   SetMaxEvents(Int_t max) { fMaxEvents = max; }
  • trunk/MagicSoft/Mars/star.cc

    r6466 r6553  
    99#include "MLogManip.h"
    1010
     11#include "MEnv.h"
    1112#include "MArgs.h"
    1213#include "MArray.h"
     
    4950    gLog << " Options:" << endl;
    5051    gLog.Usage();
    51     gLog << "   --debug-env               Debug setting resources from file" << endl;
     52    gLog << "   --debug-env=0             Disable debugging setting resources <default>" << endl;
     53    gLog << "   --debug-env[=1]           Display untouched resources after program execution" << endl;
     54    gLog << "   --debug-env=2             Display untouched resources after eventloop setup" << endl;
     55    gLog << "   --debug-env=3             Debug setting resources from resource file" << endl;
    5256    gLog << "   --debug-mem               Debug memory usage" << endl << endl;
    5357    gLog << endl;
     
    109113    const Bool_t  kPrintFiles = arg.HasOnlyAndRemove("--print-files");
    110114    const Bool_t  kPrintFound = arg.HasOnlyAndRemove("--print-found");
    111     const Bool_t  kDebugEnv   = arg.HasOnlyAndRemove("--debug-env");
    112115    const Bool_t  kDebugMem   = arg.HasOnlyAndRemove("--debug-mem");
     116    Int_t  kDebugEnv = arg.HasOnlyAndRemove("--debug-env") ? 1 : 0;
     117    kDebugEnv = arg.GetIntAndRemove("--debug-env=", kDebugEnv);
    113118
    114119    const Bool_t  kQuit       = arg.HasOnlyAndRemove("-q");
     
    149154    }
    150155
     156    if (gSystem->AccessPathName(kConfig, kFileExists))
     157    {
     158        gLog << err << "Sorry, config file '" << kConfig << "' doesn't exist." << endl;
     159        return -1;
     160    }
     161
    151162    //
    152163    // Setup sequence and check its validity
     
    202213    // Do calibration in a block (debug mem)
    203214    //
     215    MEnv env(kConfig);
    204216    {
    205217        MJStar job(Form("MJStar #%d", seq.GetSequence()));
    206218        job.SetSequence(seq);
    207         job.SetEnv(kConfig);
     219        job.SetEnv(&env);
    208220        job.SetEnvDebug(kDebugEnv);
    209221        job.SetDisplay(d);;
     
    219231        }
    220232
     233        if (kDebugEnv>0)
     234            env.PrintUntouched();
     235
    221236        if (!job.GetDisplay())
    222237        {
Note: See TracChangeset for help on using the changeset viewer.