FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndSdsTimeWalkCorrTask Class Referenceabstract

#include <PndSdsTimeWalkCorrTask.h>

Inheritance diagram for PndSdsTimeWalkCorrTask:
PndSdsTask PndPersistencyTask PndMvdTimeWalkCorrTask

Public Member Functions

 PndSdsTimeWalkCorrTask ()
 
 PndSdsTimeWalkCorrTask (const char *name)
 
 PndSdsTimeWalkCorrTask (PndSdsTimeWalkCorrTask &other)
 
virtual ~PndSdsTimeWalkCorrTask ()
 
PndSdsTimeWalkCorrTaskoperator= (PndSdsTimeWalkCorrTask &other)
 
InitStatus Init ()
 
void SetParContainers ()
 
void Exec (Option_t *opt)
 
virtual void FinishTask ()
 
virtual void SetBranchNames ()=0
 
virtual void SetInBranchId ()
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

 ClassDef (PndSdsTimeWalkCorrTask, 1)
 
 ClassDef (PndSdsTask, 1)
 

Protected Attributes

TClonesArray * fDigiArray
 
TClonesArray * fDigiCorrArray
 
PndSdsPixelDigiParfDigiPar
 
PndSdsTotDigiParfDigiTotPar
 
PndSdsFEfFEModel
 
Int_t fVerbose
 
TString fInBranchName
 
TString fOutBranchName
 
TString fFolderName
 
Int_t fInBranchId
 
Int_t fOutBranchId
 

Detailed Description

Definition at line 22 of file PndSdsTimeWalkCorrTask.h.

Constructor & Destructor Documentation

PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask ( )

Definition at line 16 of file PndSdsTimeWalkCorrTask.cxx.

References PndPersistencyTask::SetPersistency().

16  :
17  PndSdsTask("SDS TimeWalkCorrection Task"),
18  fDigiArray(NULL),
19  fDigiCorrArray(NULL),
20  fDigiPar(NULL),
21  fDigiTotPar(NULL),
22  fFEModel(NULL),
23  fVerbose(0)
24 {
25  SetPersistency(kTRUE);
26 }
PndSdsTotDigiPar * fDigiTotPar
void SetPersistency(Bool_t val=kTRUE)
PndSdsPixelDigiPar * fDigiPar
PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask ( const char *  name)

Definition at line 29 of file PndSdsTimeWalkCorrTask.cxx.

References PndPersistencyTask::SetPersistency().

29  :
31  fDigiArray(NULL),
32  fDigiCorrArray(NULL),
33  fDigiPar(NULL),
34  fDigiTotPar(NULL),
35  fFEModel(NULL),
36  fVerbose(1)
37 {
38  SetPersistency(kTRUE);
39 }
PndSdsTotDigiPar * fDigiTotPar
void SetPersistency(Bool_t val=kTRUE)
PndSdsPixelDigiPar * fDigiPar
TString name
PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask ( PndSdsTimeWalkCorrTask other)
inline

Definition at line 26 of file PndSdsTimeWalkCorrTask.h.

26  :
27  PndSdsTask(),
28  fDigiArray(other.fDigiArray),
30  fDigiPar(other.fDigiPar),
31  fDigiTotPar(other.fDigiTotPar),
32  fFEModel(other.fFEModel),
33  fVerbose(other.fVerbose)
34  {};
PndSdsTotDigiPar * fDigiTotPar
PndSdsPixelDigiPar * fDigiPar
PndSdsTimeWalkCorrTask::~PndSdsTimeWalkCorrTask ( )
virtual

Definition at line 42 of file PndSdsTimeWalkCorrTask.cxx.

42  {
43 }

Member Function Documentation

PndSdsTask::ClassDef ( PndSdsTask  ,
 
)
protectedinherited
PndSdsTimeWalkCorrTask::ClassDef ( PndSdsTimeWalkCorrTask  ,
 
)
protected
void PndSdsTimeWalkCorrTask::Exec ( Option_t *  opt)

Definition at line 94 of file PndSdsTimeWalkCorrTask.cxx.

References fDigiArray, fDigiCorrArray, fFEModel, PndSdsDigi::GetCharge(), PndSdsFE::GetTimeStep(), and PndSdsFE::GetTimeWalkFromTot().

95 {
96 
97  if ( ! fDigiCorrArray ) Fatal("Exec", "No ClusterArray");
98  fDigiCorrArray->Delete();
99 
100 
101  Int_t nPoints = fDigiArray->GetEntriesFast();
102 
103  for (Int_t iPoint = 0; iPoint < nPoints; iPoint++)
104  {
105  PndSdsDigiPixel myDigi = *(PndSdsDigiPixel*)(fDigiArray->At(iPoint));
106  myDigi.SetTimeStamp(myDigi.GetTimeStamp() - fFEModel->GetTimeWalkFromTot(myDigi.GetCharge()) - fFEModel->GetTimeStep()/2);
107  new ((*fDigiCorrArray)[iPoint])PndSdsDigiPixel(myDigi);
108  }
109 
110 }
Double_t GetCharge() const
Definition: PndSdsDigi.h:60
virtual double GetTimeStep()
Definition: PndSdsFE.h:60
virtual double GetTimeWalkFromTot(double tot)
Definition: PndSdsFE.cxx:69
Data class to store the digi output of a pixel module.
void PndSdsTimeWalkCorrTask::FinishTask ( )
virtual

Definition at line 112 of file PndSdsTimeWalkCorrTask.cxx.

References fDigiArray, fDigiCorrArray, fFEModel, PndSdsDigi::GetCharge(), PndSdsFE::GetTimeStep(), and PndSdsFE::GetTimeWalkFromTot().

113 {
114  if ( ! fDigiCorrArray ) Fatal("Exec", "No ClusterArray");
115  fDigiCorrArray->Delete();
116 
117 
118  Int_t nPoints = fDigiArray->GetEntriesFast();
119 
120  for (Int_t iPoint = 0; iPoint < nPoints; iPoint++)
121  {
122  PndSdsDigiPixel myDigi = *(PndSdsDigiPixel*)(fDigiArray->At(iPoint));
123  myDigi.SetTimeStamp(myDigi.GetTimeStamp() - fFEModel->GetTimeWalkFromTot(myDigi.GetCharge()) - fFEModel->GetTimeStep()/2);
124  new ((*fDigiCorrArray)[iPoint])PndSdsDigiPixel(myDigi);
125  }
126 }
Double_t GetCharge() const
Definition: PndSdsDigi.h:60
virtual double GetTimeStep()
Definition: PndSdsFE.h:60
virtual double GetTimeWalkFromTot(double tot)
Definition: PndSdsFE.cxx:69
Data class to store the digi output of a pixel module.
Bool_t PndPersistencyTask::GetPersistency ( )
inlineinherited

Definition at line 32 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency.

Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::Init(), PndSttHelixHitProducer::Init(), PndDiscTaskPID::Init(), PndIdealTrackFinder::Init(), PndSttMvdGemTracking::Init(), PndMdtTrkProducer::Init(), PndFtsHitProducerRealFull::Init(), PndLmdPixelClusterTask::Init(), PndSttHitProducerRealFull::Init(), PndLmdStripClusterTask::Init(), PndEmcApdHitProducer::Init(), PndMissingPzCleanerTask::Init(), PndEmcMakeRecoHit::Init(), PndEmcMakeClusterOnline::Init(), PndTrackSmearTask::Init(), PndEmcFWEndcapTimebasedWaveforms::Init(), PndSttHitProducerIdeal::Init(), PndEmcFWEndcapDigi::Init(), PndFtsHitProducerIdeal::Init(), PndEmcMakeCluster::Init(), PndMdtPointsToWaveform::Init(), PndDiscTaskDigitization::Init(), PndEmcMakeDigi::Init(), Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndRecoMultiKalmanTask2::Init(), PndEmcHitProducer::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndRecoKalmanTask2::Init(), PndDrcTimeDigiTask::Init(), PndEmcExpClusterSplitter::Init(), PndFtsHoughTrackerTask::Init(), PndSdsNoiseProducer::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsIdealRecoTask::Init(), PndSdsHybridHitProducer::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndGemDigitize::Init(), PndSdsStripHitProducer::Init(), PndGemFindHits::Init(), PndSdsPixelClusterTask::Init(), PndSdsStripClusterTask::Init(), PndMvdGemTrackFinderOnHits::Init(), PndBarrelTrackFinder::Init(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcMakeBump::PndEmcMakeBump(), PndUnassignedHitsTask::RegisterBranches(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndEmcMakeBump::SetStorageOfData(), and PndEmcFullDigiTask::StoreDigi().

32 { return fPersistency; }
InitStatus PndSdsTimeWalkCorrTask::Init ( )

Definition at line 56 of file PndSdsTimeWalkCorrTask.cxx.

References fDigiArray, fDigiCorrArray, fDigiPar, fDigiTotPar, fFEModel, PndSdsTask::fFolderName, PndSdsTask::fInBranchName, PndSdsTask::fOutBranchName, PndPersistencyTask::GetPersistency(), PndSdsPixelDigiPar::Print(), PndSdsTotDigiPar::Print(), PndSdsTask::SetBranchNames(), and PndSdsTask::SetInBranchId().

57 {
59 
60  fFEModel = new PndSdsFESimple();
61 
62  FairRootManager* ioman = FairRootManager::Instance();
63 
64  if ( ! ioman )
65  {
66  std::cout << "-E- PndSdsTimeWalkCorrTask::Init: "
67  << "RootManager not instantiated!" << std::endl;
68  return kFATAL;
69  }
70 
71  // Get input array
72  fDigiArray = (TClonesArray*) ioman->GetTClonesArray(fInBranchName);
73 
74  if ( ! fDigiArray )
75  {
76  std::cout << "-W- PndSdsTimeWalkCorrTask::Init: " << "No SDSDigi array!" << std::endl;
77  return kERROR;
78  }
79 
80  // Create output array
81  fDigiCorrArray = ioman->Register(fOutBranchName, "PndSdsDigiPixel", fFolderName, GetPersistency());
82 
83  SetInBranchId();
84 
85  fDigiPar->Print();
86  fDigiTotPar->Print();
87 
88  std::cout << "-I- PndSdsTimeWalkCorrTask: Initialisation successfull" << std::endl;
89 
90  return kSUCCESS;
91 }
TString fOutBranchName
Definition: PndSdsTask.h:40
PndSdsTotDigiPar * fDigiTotPar
PndSdsPixelDigiPar * fDigiPar
TString fInBranchName
Definition: PndSdsTask.h:39
virtual void SetBranchNames()=0
TString fFolderName
Definition: PndSdsTask.h:41
virtual void Print(std::ostream &out=std::cout) const
virtual void Print(std::ostream &out=std::cout) const
virtual void SetInBranchId()
Definition: PndSdsTask.h:30
PndSdsTimeWalkCorrTask& PndSdsTimeWalkCorrTask::operator= ( PndSdsTimeWalkCorrTask other)
inline

Definition at line 36 of file PndSdsTimeWalkCorrTask.h.

References fDigiArray, fDigiCorrArray, fDigiPar, fDigiTotPar, fFEModel, and fVerbose.

37  {
38  fDigiArray=other.fDigiArray;
40  fDigiPar=other.fDigiPar;
42  fFEModel=other.fFEModel;
43  fVerbose=other.fVerbose;
44  return *this;
45  };
PndSdsTotDigiPar * fDigiTotPar
PndSdsPixelDigiPar * fDigiPar
virtual void PndSdsTask::SetBranchNames ( )
pure virtualinherited
virtual void PndSdsTask::SetInBranchId ( )
inlinevirtualinherited

Reimplemented in PndSdsStripClusterTask, PndSdsPixelClusterTask, and PndSdsIdealClusterTask.

Definition at line 30 of file PndSdsTask.h.

References PndSdsTask::fInBranchId, PndSdsTask::fInBranchName, PndSdsTask::fOutBranchId, and PndSdsTask::fOutBranchName.

Referenced by Init(), PndSdsRecoTask::Init(), PndSdsIdealRecoTask::Init(), PndLmdStripHitProducer::SetBranchNames(), PndMvdHitProducerIdeal::SetBranchNames(), PndLmdHybridHitProducer::SetBranchNames(), PndMvdHybridHitProducer::SetBranchNames(), and PndMvdStripHitProducer::SetBranchNames().

30  {
31  FairRootManager *ioman = FairRootManager::Instance();
32  fInBranchId = ioman->GetBranchId(fInBranchName);
33  fOutBranchId = ioman->GetBranchId(fOutBranchName);
34  std::cout << "InBranchId: " << fInBranchId << " for Branch: " << fInBranchName.Data() << std::endl;
35  std::cout << "OutBranchId: " << fOutBranchId << " for Branch: " << fOutBranchName.Data() << std::endl;
36  }
Int_t fInBranchId
Definition: PndSdsTask.h:43
TString fOutBranchName
Definition: PndSdsTask.h:40
Int_t fOutBranchId
Definition: PndSdsTask.h:44
TString fInBranchName
Definition: PndSdsTask.h:39
void PndSdsTimeWalkCorrTask::SetParContainers ( )

Definition at line 46 of file PndSdsTimeWalkCorrTask.cxx.

References fDigiPar, fDigiTotPar, and fVerbose.

Referenced by PndMvdTimeWalkCorrTask::SetParContainers().

47 {
48  if( ! fDigiPar) Fatal("SetParContainers","No digitiztiopn parameters specified");
49  if( ! fDigiTotPar ) Fatal("SetParContainers","No tot digitiztiopn parameters specified");
50  if(fVerbose>1) Info("SetParContainers","done.");
51  return;
52 }
PndSdsTotDigiPar * fDigiTotPar
PndSdsPixelDigiPar * fDigiPar
void PndPersistencyTask::SetPersistency ( Bool_t  val = kTRUE)
inlineinherited

Definition at line 31 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency, and val.

Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi(), PndEmcWaveformToCalibratedDigi::PndEmcWaveformToCalibratedDigi(), PndEmcWaveformToDigi::PndEmcWaveformToDigi(), PndFtofHitProducerIdeal::PndFtofHitProducerIdeal(), PndFtsCATracking::PndFtsCATracking(), PndFtsHitProducerIdeal::PndFtsHitProducerIdeal(), PndFtsHitProducerRealFast::PndFtsHitProducerRealFast(), PndFtsHitProducerRealFull::PndFtsHitProducerRealFull(), PndFtsHoughTrackerTask::PndFtsHoughTrackerTask(), PndGemDigitize::PndGemDigitize(), PndGemFindHits::PndGemFindHits(), PndIdealTrackFinder::PndIdealTrackFinder(), PndLmdPixelClusterTask::PndLmdPixelClusterTask(), PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal::PndMdtHitProducerIdeal(), PndMdtPointsToWaveform::PndMdtPointsToWaveform(), PndMdtTrkProducer::PndMdtTrkProducer(), PndMissingPzCleanerTask::PndMissingPzCleanerTask(), PndMvdGemTrackFinderOnHits::PndMvdGemTrackFinderOnHits(), PndMvdHitProducerIdeal::PndMvdHitProducerIdeal(), PndMvdPixelClusterTask::PndMvdPixelClusterTask(), PndMvdTimeWalkCorrTask::PndMvdTimeWalkCorrTask(), PndMvdToPix4ClusterTask::PndMvdToPix4ClusterTask(), PndRecoKalmanTask::PndRecoKalmanTask(), PndRecoKalmanTask2::PndRecoKalmanTask2(), PndRecoMultiKalmanTask::PndRecoMultiKalmanTask(), PndRecoMultiKalmanTask2::PndRecoMultiKalmanTask2(), PndRichHitFinder::PndRichHitFinder(), PndRichHitProducer::PndRichHitProducer(), PndSciTDigiTask::PndSciTDigiTask(), PndSciTHitProducerIdeal::PndSciTHitProducerIdeal(), PndSdsHitProducerIdeal::PndSdsHitProducerIdeal(), PndSdsHybridHitProducer::PndSdsHybridHitProducer(), PndSdsIdealClusterTask::PndSdsIdealClusterTask(), PndSdsIdealRecoTask::PndSdsIdealRecoTask(), PndSdsNoiseProducer::PndSdsNoiseProducer(), PndSdsPixelClusterTask::PndSdsPixelClusterTask(), PndSdsStripClusterTask::PndSdsStripClusterTask(), PndSdsStripHitProducer::PndSdsStripHitProducer(), PndSdsTimeWalkCorrTask(), PndSttFindTracks::PndSttFindTracks(), PndSttHelixHitProducer::PndSttHelixHitProducer(), PndSttHitProducerIdeal::PndSttHitProducerIdeal(), PndSttHitProducerRealFast::PndSttHitProducerRealFast(), PndSttHitProducerRealFull::PndSttHitProducerRealFull(), PndSttMatchTracks::PndSttMatchTracks(), PndSttMvdGemTracking::PndSttMvdGemTracking(), PndTrackSmearTask::PndTrackSmearTask(), PndTrkTracking2::PndTrkTracking2(), reco(), reco_complete(), reco_complete_gf2(), reco_complete_newSTT(), reco_complete_sec(), recoideal_complete(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndLmdPixelHitProducerFast::SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcFWEndcapTimebasedWaveforms::SetStorageOfData(), PndEmcMakeDigi::SetStorageOfData(), PndMdtPointsToWaveform::SetStorageOfData(), PndEmc2DLocMaxFinder::SetStorageOfData(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcTmpWaveformToDigi::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcWaveformToCalibratedDigi::SetStorageOfData(), PndEmcMultiWaveformToCalibratedDigi::SetStorageOfData(), PndEmcExpClusterSplitter::SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().

31 { fPersistency = val; }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11

Member Data Documentation

TClonesArray* PndSdsTimeWalkCorrTask::fDigiArray
protected

Definition at line 51 of file PndSdsTimeWalkCorrTask.h.

Referenced by Exec(), FinishTask(), Init(), and operator=().

TClonesArray* PndSdsTimeWalkCorrTask::fDigiCorrArray
protected

Definition at line 52 of file PndSdsTimeWalkCorrTask.h.

Referenced by Exec(), FinishTask(), Init(), and operator=().

PndSdsPixelDigiPar* PndSdsTimeWalkCorrTask::fDigiPar
protected
PndSdsTotDigiPar* PndSdsTimeWalkCorrTask::fDigiTotPar
protected
PndSdsFE* PndSdsTimeWalkCorrTask::fFEModel
protected

Definition at line 55 of file PndSdsTimeWalkCorrTask.h.

Referenced by Exec(), FinishTask(), Init(), and operator=().

TString PndSdsTask::fFolderName
protectedinherited
Int_t PndSdsTask::fInBranchId
protectedinherited
TString PndSdsTask::fInBranchName
protectedinherited
Int_t PndSdsTask::fOutBranchId
protectedinherited

Definition at line 44 of file PndSdsTask.h.

Referenced by PndSdsTask::SetInBranchId().

TString PndSdsTask::fOutBranchName
protectedinherited
Int_t PndSdsTimeWalkCorrTask::fVerbose
protected

Definition at line 56 of file PndSdsTimeWalkCorrTask.h.

Referenced by operator=(), and SetParContainers().


The documentation for this class was generated from the following files: