Changeset 3351 for trunk


Ignore:
Timestamp:
02/28/04 03:43:14 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mcalib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc

    r3350 r3351  
    114114MCalibrationChargeCalc::MCalibrationChargeCalc(const char *name, const char *title)
    115115    : fPedestals(NULL), fCam(NULL),
    116       fRawEvt(NULL), fRunHeader(NULL), fEvtTime(NULL),
     116      fRawEvt(NULL), fRunHeader(NULL), fGeom(NULL), fEvtTime(NULL),
    117117      fSignals(NULL), fPINDiode(NULL), fBlindPixel(NULL)
    118118{
     
    239239
    240240
    241     MGeomCam *cam = (MGeomCam*)pList->FindObject("MGeomCam");
    242     if (!cam)
     241    fGeom = (MGeomCam*)pList->FindObject("MGeomCam");
     242    if (!fGeom)
    243243    {
    244244      *fLog << err << GetDescriptor() << ": No MGeomCam found... aborting." << endl;
     
    246246    }
    247247
    248     fCam->SetGeomCam(cam);
     248    fCam->SetGeomCam(fGeom);
    249249
    250250    fNumHiGainSamples =  fSignals->GetNumUsedHiGainFADCSlices();
     
    252252    fSqrtHiGainSamples = TMath::Sqrt((Float_t)fNumHiGainSamples);
    253253
    254     UInt_t npixels = cam->GetNumPixels();
     254    UInt_t npixels = fGeom->GetNumPixels();
    255255
    256256    for (UInt_t i=0; i<npixels; i++)
     
    346346  //
    347347  Int_t nvalid   = 0;
    348   Float_t avped  = 0;
    349   Float_t avprms = 0;
    350   Float_t avnum  = 0;
     348  Float_t avinnerped  = 0;
     349  Float_t avinnerprms = 0;
     350  Float_t avinnernum  = 0;
     351  Float_t avouterped  = 0;
     352  Float_t avouterprms = 0;
     353  Float_t avouternum  = 0;
    351354  for (Int_t pixid=0; pixid<fPedestals->GetSize(); pixid++)
    352355    {
     
    367370      const Float_t num    = TMath::Sqrt((Float_t)fPedestals->GetTotalEntries());
    368371
    369       avped  += ped;
    370       avprms += prms;
    371       avnum  += num;
     372      if (fGeom->GetPixRatio(pixid) == 1.)
     373      {
     374          avinnerped  += ped;
     375          avinnerprms += prms;
     376          avinnernum  += num;
     377      }
     378      else
     379      {
     380          avouterped  += ped;
     381          avouterprms += prms;
     382          avouternum  += num;
     383      }
    372384      //
    373385      // set them in the calibration camera
     
    419431  if (avinnerpix->IsHiGainSaturation())
    420432  {
    421       avinnerpix->SetPedestal(avped  * fNumLoGainSamples,
    422                          avprms * TMath::Sqrt((Float_t)fNumLoGainSamples),
    423                          avprms * fNumLoGainSamples / avnum);
     433      avinnerpix->SetPedestal(avinnerped/avinnernum  * fNumLoGainSamples,
     434                         avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumLoGainSamples),
     435                         avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumLoGainSamples/avinnernum));
    424436      avinnerpix->SetNumLoGainSamples((Float_t)fNumLoGainSamples);
    425437      avinnerpix->ApplyLoGainConversion();
     
    427439  else
    428440  {
    429       avinnerpix->SetPedestal(avped  * fNumHiGainSamples,
    430                          avprms * TMath::Sqrt((Float_t)fNumHiGainSamples),
    431                          avprms * fNumHiGainSamples / avnum);
     441      avinnerpix->SetPedestal(avinnerped/avinnernum  * fNumHiGainSamples,
     442                         avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumHiGainSamples),
     443                         avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumHiGainSamples/avinnernum));
    432444  }
    433445
    434446  if (avouterpix->IsHiGainSaturation())
    435447  {
    436       avouterpix->SetPedestal(avped  * fNumLoGainSamples,
    437                          avprms * TMath::Sqrt((Float_t)fNumLoGainSamples),
    438                          avprms * fNumLoGainSamples / avnum);
     448      avouterpix->SetPedestal(avouterped/avouternum  * fNumLoGainSamples,
     449                              avouterprms/avouternum * TMath::Sqrt((Float_t)fNumLoGainSamples),
     450                              avouterprms/avouternum * TMath::Sqrt((Float_t)fNumLoGainSamples/avouternum));
    439451      avouterpix->SetNumLoGainSamples((Float_t)fNumLoGainSamples);
    440452      avouterpix->ApplyLoGainConversion();
     
    442454  else
    443455  {
    444       avouterpix->SetPedestal(avped  * fNumHiGainSamples,
    445                          avprms * TMath::Sqrt((Float_t)fNumHiGainSamples),
    446                          avprms * fNumHiGainSamples / avnum);
     456      avouterpix->SetPedestal(avouterped/avouternum  * fNumHiGainSamples,
     457                              avouterprms/avouternum * TMath::Sqrt((Float_t)fNumHiGainSamples),
     458                              avouterprms/avouternum * TMath::Sqrt((Float_t)fNumHiGainSamples/avouternum));
    447459  }
    448460 
  • trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h

    r3292 r3351  
    2828class MCalibrationChargeCalc : public MTask
    2929{
    30 
    3130private:
    3231
     
    3534  MRawEvtData                *fRawEvt;                    //! raw event data (time slices)
    3635  MRawRunHeader              *fRunHeader;                 //! RunHeader information
     36  MGeomCam                   *fGeom;                      //! Geometry information
    3737
    3838  MTime                      *fEvtTime;                   //! Time of the event
Note: See TracChangeset for help on using the changeset viewer.