Ignore:
Timestamp:
12/17/03 16:26:30 (21 years ago)
Author:
blanch
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/manalysis
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/manalysis/MCalibrate.cc

    r2685 r2691  
    3232//                                                                          //
    3333//   Input Containers:                                                      //
    34 //                                                                          //
     34//                                                                          //     
     35//   MGeomCam                                                               //
    3536//   MExtractedSingal                                                       //
    3637//   MCalibrationCam                                                        //
     
    5051#include "MH.h"
    5152
    52 #include "MRawRunHeader.h"
    53 #include "MRawEvtData.h"       // MRawEvtData::GetNumPixels
    54 #include "MRawEvtPixelIter.h"
     53#include "MGeomCam.h"
    5554
    5655#include "MCalibrationCam.h"
     
    8382//
    8483// The PreProcess searches for the following input containers:
     84//  - MGeomCam
    8585//  - MCalibrationCam
    8686//  - MExtractedSignalCam
     
    9494{
    9595
    96     fCalibrations = (MCalibrationCam*)pList->FindObject("MCalibrationCam");
     96
     97    fGeomCam = (MGeomCam*)pList->FindObject("MGeomCam");
    9798    if (!fCalibrations)
    9899      {
    99         *fLog << err << dbginf << "MCalibrationCam could not be created ... aborting." << endl;       
     100        *fLog << err << dbginf << "MGeomCam not found ... aborting." << endl;       
    100101        return kFALSE;
    101102      }
     
    104105    if (!fSignals)
    105106      {
    106         *fLog << err << dbginf << "Cannot find MExtractedSignalCam ... aborting" << endl;
     107        *fLog << err << dbginf << "MExtractedSignalCam not found ... aborting" << endl;
     108        return kFALSE;
     109      }
     110
     111    fCalibrations = (MCalibrationCam*)pList->FindObject("MCalibrationCam");
     112    if (!fCalibrations)
     113      {
     114        *fLog << err << dbginf << "MCalibrationCam not found ... aborting." << endl;       
    107115        return kFALSE;
    108116      }
     
    111119    if (!fCerPhotEvt)
    112120      {
    113         *fLog << err << dbginf << "Cannot find MCerPhotEvt ... aborting" << endl;
     121        *fLog << err << dbginf << "Cannot create MCerPhotEvt ... aborting" << endl;
    114122        return kFALSE;
    115123      }
     
    125133{
    126134
    127   for (UInt_t pixid = 0; pixid<577; pixid++)
     135    UInt_t imaxnumpix = fGeomCam->GetNumPixels();
     136   
     137    for (UInt_t pixid = 0; pixid < imaxnumpix; pixid++)
    128138    {
    129139
    130       MExtractedSignalPix &sig =  (*fSignals)[pixid];
     140        MCalibrationPix &pix = (*fCalibrations)[pixid];
    131141
    132       Bool_t logain = sig.IsLoGainUsed();
     142        if (pix.IsValid())
     143        {
     144            MExtractedSignalPix &sig =  (*fSignals)[pixid];
    133145
    134       Float_t signal;
    135       if (logain)
    136         signal = sig.GetExtractedSignalLoGain();
    137       else
    138         signal = sig.GetExtractedSignalHiGain();
     146            Bool_t logain = sig.IsLoGainUsed();
     147       
     148            Float_t signal;
     149            if (logain)
     150                signal = sig.GetExtractedSignalLoGain();
     151            else
     152                signal = sig.GetExtractedSignalHiGain();
     153           
     154           
     155            //      Float_t fCalibraitonConvertionFactor = pix.GetMeanConversionFFactorMethod();
     156            Float_t fCalibrationConvertionFactor = pix.GetMeanConversionBlindPixelMethod();
     157            Float_t fCalibrationConvertionFactorError = pix.GetErrorConversionBlindPixelMethod();
     158           
    139159
    140       MCalibrationPix &pix = (*fCalibrations)[pixid];
    141 
    142       //      Float_t fCalibraitonConvertionFactor = pix.GetMeanConversionFFactorMethod();
    143       Float_t fCalibrationConvertionFactor = pix.GetMeanConversionBlindPixelMethod();
    144      
    145 
    146       Float_t nphot = signal*fCalibrationConvertionFactor;
    147       Float_t nphoterr = 0;
    148      
    149       fCerPhotEvt->AddPixel(pixid, nphot, nphoterr);
    150 
     160            Float_t nphot = signal*fCalibrationConvertionFactor;
     161            Float_t nphoterr = signal*fCalibrationConvertionFactorError;;
     162           
     163            fCerPhotEvt->AddPixel(pixid, nphot, nphoterr);
     164        }
     165        else
     166            (*fCerPhotEvt)[pixid].SetPixelUnused();
    151167    }
    152168
  • trunk/MagicSoft/Mars/manalysis/MCalibrate.h

    r2684 r2691  
    44/////////////////////////////////////////////////////////////////////////////
    55//                                                                         //
    6 // MCalibrate                                                            //
     6// MCalibrate                                                              //
    77//                                                                         //
    88// Integrates the desired ADC time slices of one pixel and apply           //
     
    1818#endif
    1919
     20class MGeomCam;
    2021class MCalibrationCam;
    2122class MExtractedSignalCam;
     
    2526{
    2627
    27   MCalibrationCam     *fCalibrations;
    28   MExtractedSignalCam *fSignals;
    29   MCerPhotEvt         *fCerPhotEvt; // Cerenkov Photon Event used for calculation
     28    MGeomCam            *fGeomCam;      // Geometry of the camera
     29    MCalibrationCam     *fCalibrations; // Calibration constants
     30    MExtractedSignalCam *fSignals;      // Integrated charge in FADCs counts
     31    MCerPhotEvt         *fCerPhotEvt; // Cerenkov Photon Event used for calculation
    3032 
    3133  Int_t PreProcess(MParList *pList);
     
    3638    MCalibrate(const char *name=NULL, const char *title=NULL);
    3739
    38     ClassDef(MCalibrate, 0)   // Task to calculate cerenkov photons from raw data
     40    ClassDef(MCalibrate, 0)   // Task to calculate cerenkov photons using calibration constants
    3941};
    4042 
Note: See TracChangeset for help on using the changeset viewer.