//*-- Author : Stefano Spataro (spataro@lns.infn.it)

#include "hpidtofinocorr.h"
#include "hades.h"
#include "hruntimedb.h"
#include "hevent.h"
#include "hspectrometer.h"
#include "hdetector.h"
#include "TMath.h"
#include "hpidtrackcandsim.h"
#include "hpidgeanttrackset.h"
#include "hpidtrackdata.h"
#include "hpidhitdata.h"
#include "hpidphysicsconstants.h"
#include <iostream>

  ClassImp(HPidTofinoCorr)
  
HPidTofinoCorr::HPidTofinoCorr(void)
{
  // Default constructor

}

HPidTofinoCorr::~HPidTofinoCorr(void){
  // Destructor.
}

Bool_t HPidTofinoCorr::init(void){
  cout << "PID Tof Reconstructor default initialization *** " << endl;
  
  pTrackCand=gHades->getCurrentEvent()->getCategory(catPidTrackCand);
  if (!pTrackCand) {
    Error("init","HPidTofinoCorr: No HPIDTrackCand Input -> Switching HPidTofinoCorr OFF");
  }
  else iterTrackCand= (HIterator *)pTrackCand->MakeIterator();
  
  return kTRUE;
}

Int_t HPidTofinoCorr::execute(void){
  // Execute function
  Float_t tofino_corr[24] = {0.71, -0.02, 0.44, 0.90,
                             -0.36, -0.13, 0.74, 1.44,
                             1.53, 1.19, 2.25, 2.3,
                             3.8, 2.88, 0.59, 1.03,
                             2.04, 1.65, 1.51, 2.22,
                             1.77, 1.44, 3.07, 4.84};
  Float_t sec_corr[6] = {-3.96824e-03, -2.64326e-03, 1.0790774e-01, 1.492324e-02, -1.237478e-01, 0.};
  HPidTrackCandSim *pCand  = 0;
  
  iterTrackCand->Reset();
  while ((pCand = (HPidTrackCandSim *)iterTrackCand->Next()) != 0) // begin of PidTrackCand iterator
    {
      if (pCand->getHitData()->iSystem==0){
	pCand->getHitData()->fShowerTimeOfFlight = pCand->getHitData()->fShowerTimeOfFlight - tofino_corr[pCand->getHitData()->nMetaCell+4*pCand->getHitData()->nSector] - sec_corr[pCand->getHitData()->nSector] - 2.06532e-01;
      }
      if (pCand->getHitData()->iSystem==1){
	pCand->getHitData()->fTOFTimeOfFlight = pCand->getHitData()->fTOFTimeOfFlight - sec_corr[pCand->getHitData()->nSector];
      }
    } 
  
  return 0;
}

Bool_t HPidTofinoCorr::finalize(void){
  // Execute function  
  return kTRUE;
}

Last change: Sat May 22 13:07:30 2010
Last generated: 2010-05-22 13:07

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.