Ignore:
Timestamp:
05/14/04 16:45:04 (21 years ago)
Author:
jlopez
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mtemp/mifae/library
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mtemp/mifae/library/MCalibrateDC.cc

    r4063 r4073  
    4242
    4343#include "MParList.h"
     44#include "MTaskList.h"
     45#include "MEvtLoop.h"
     46
     47#include "MReadReports.h"
     48#include "MGeomApply.h"
    4449
    4550ClassImp(MCalibrateDC);
     
    8287    }
    8388
     89    // Initialization of objects that need the information from MGeomCam
     90    fDisplay.SetGeometry(*fGeomCam);
     91    fNumPixels = fGeomCam->GetNumPixels();
     92
    8493    fCurr = (MCameraDC*)pList->FindObject(AddSerialNumber("MCameraDC"));
    8594
     
    99108
    100109    // Run over the continuos light run to get the DC intercalibration factors
    101     fNumPixels = fGeomCam->GetNumPixels();
    102110    fDCCalibrationFactor.Set(fNumPixels);
    103111    fDCCalibrationFactor.Reset(1.);
     
    105113    if ( fFileName != "" )
    106114      {
    107         // FIXME::Here it should be done the loop over the continuos light run
     115        ProcessFile();
    108116        DCCalibrationCalc();
    109117 
     
    136144         
    137145  return kTRUE;
     146}
     147
     148Bool_t MCalibrateDC::ProcessFile()
     149{
     150
     151    MParList plist;
     152    MTaskList tlist;
     153    plist.AddToList(&tlist);
     154
     155    MCameraDC     dccam;
     156    plist.AddToList(&dccam);
     157
     158    // Reads the trees of the root file and the analysed branches
     159    MReadReports read;
     160    read.AddTree("Currents");
     161    read.AddFile(fFileName);     // after the reading of the trees!!!
     162    read.AddToBranchList("MReportCurrents.*");
     163   
     164    MGeomApply geomapl;
     165
     166    tlist.AddToList(&geomapl);
     167    tlist.AddToList(&read);
     168
     169    // Enable logging to file
     170    //*fLog.SetOutputFile(lname, kTRUE);
     171
     172    //
     173    // Execute the eventloop
     174    //
     175    MEvtLoop evtloop(fName);
     176    evtloop.SetParList(&plist);
     177    evtloop.SetLogStream(fLog);
     178
     179    // Execute first analysis
     180      if (!evtloop.PreProcess())
     181        {
     182          *fLog << err << GetDescriptor() << ": Failed." << endl;
     183          return kFALSE;
     184        }
     185       
     186      while (tlist.Process())
     187        fDisplay.AddCamContent(dccam);
     188       
     189      evtloop.PostProcess();
     190
     191    tlist.PrintStatistics();
     192
     193    UInt_t numexecutions = read.GetNumExecutions();
     194    UInt_t numPixels = fDisplay.GetNumPixels();
     195    for (UInt_t pix = 1; pix < numPixels; pix++)
     196      fDisplay[pix] /= numexecutions;
     197   
     198
     199    *fLog << inf << GetDescriptor() << ": Done." << endl;
     200
     201    return kTRUE;
    138202}
    139203
  • trunk/MagicSoft/Mars/mtemp/mifae/library/MCalibrateDC.h

    r4061 r4073  
    22#define MARS_MCalibrateDC
    33
    4 #ifndef ROOT_TArrayF
    5 #include <TArrayF.h>
     4#ifndef ROOT_TArrayD
     5#include <TArrayD.h>
    66#endif
    77
     
    4444
    4545    UInt_t fNumPixels ;
    46     TArrayF fDCCalibrationFactor;
    47     Float_t fDCMissCalibrationFactor;
     46    TArrayD fDCCalibrationFactor;
     47    Double_t fDCMissCalibrationFactor;
    4848   
    49     Float_t fDCCalibration; //[uA]
    50     Float_t fDCCalibrationRMS; //[uA]
     49    Double_t fDCCalibration; //[uA]
     50    Double_t fDCCalibrationRMS; //[uA]
    5151   
     52    Bool_t ProcessFile();
    5253    Bool_t DCCalibrationCalc();
    5354   
     
    6364    void SetFileName(TString filename="") {fFileName=filename;}
    6465   
    65   ClassDef(MCalibrateDC, 0) // Taks to intercalibrate the DC of all pmts from a continuos light run
     66    //Getters
     67    MHCamera& GetDisplay() { return fDisplay; }
     68    TArrayD&  GetDCCalibrationFactor() { return fDCCalibrationFactor; }
     69
     70    ClassDef(MCalibrateDC, 0) // Taks to intercalibrate the DC of all pmts from a continuos light run
    6671};
    6772
Note: See TracChangeset for help on using the changeset viewer.