FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndEmcTmpWaveformToDigi Class Reference

currently not used, not in CMakeLists.txt More...

#include <PndEmcTmpWaveformToDigi.h>

Inheritance diagram for PndEmcTmpWaveformToDigi:
PndPersistencyTask

Public Member Functions

 PndEmcTmpWaveformToDigi (Int_t verbose=0, Bool_t storedigis=kTRUE)
 
virtual ~PndEmcTmpWaveformToDigi ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
void SetStorageOfData (Bool_t val)
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Private Member Functions

virtual void SetParContainers ()
 
 ClassDef (PndEmcTmpWaveformToDigi, 1)
 

Private Attributes

TClonesArray * fWaveformArray
 
TClonesArray * fDigiArray
 
Double_t fSampleRate
 
Double_t fEnergyDigiThreshold
 
std::string fDigiPosMethod
 
Double_t fEmcDigiRescaleFactor
 
Double_t fEmcDigiPositionDepth
 
PndEmcDigiParfDigiPar
 
PndEmcRecoParfRecoPar
 
Int_t fVerbose
 

Detailed Description

currently not used, not in CMakeLists.txt

Definition at line 40 of file PndEmcTmpWaveformToDigi.h.

Constructor & Destructor Documentation

PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi ( Int_t  verbose = 0,
Bool_t  storedigis = kTRUE 
)

Definition at line 46 of file PndEmcTmpWaveformToDigi.cxx.

References fDigiPosMethod, fEmcDigiRescaleFactor, fVerbose, PndPersistencyTask::SetPersistency(), and verbose.

47 {
49  fDigiPosMethod="depth";// "surface" or "depth"
51  SetPersistency(storedigis);
52  //fPndEmcDigiPositionDepth=6.2;
53 }
#define verbose
void SetPersistency(Bool_t val=kTRUE)
PndEmcTmpWaveformToDigi::~PndEmcTmpWaveformToDigi ( )
virtual

Definition at line 59 of file PndEmcTmpWaveformToDigi.cxx.

60 {
61 }

Member Function Documentation

PndEmcTmpWaveformToDigi::ClassDef ( PndEmcTmpWaveformToDigi  ,
 
)
private
void PndEmcTmpWaveformToDigi::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 114 of file PndEmcTmpWaveformToDigi.cxx.

References ctime, Double_t, fDigiArray, fEnergyDigiThreshold, fSampleRate, fVerbose, max_energy, rtime, and timer.

115 {
116  TStopwatch timer;
117  if (fVerbose>0){
118  timer.Start();
119  }
120 // Reset output array
121  if ( ! fDigiArray ) Fatal("Exec", "No Digi Array");
122  fDigiArray->Delete();
123  Double_t peakPosition;
125  Double_t digi_time;
126  Int_t i_digi=0; //index of digi in TClonesArray
127  Int_t hitIndex;
128 // Int_t nWaveforms = fWaveformArray->GetEntriesFast();
129  //cout<<"PndEmcTmpWaveformToDigi: "<<nWaveforms<<" waveforms to convert"<<endl;
130 
131 // for (Int_t iWaveform=0; iWaveform<nWaveforms; iWaveform++) {
132 // PndEmcWaveform* theWaveform = (PndEmcWaveform*) fWaveformArray->At(iWaveform);
133 // hitIndex=theWaveform->GetHitIndex();
134 // Int_t detId=theWaveform->GetDetectorId();
135 // Int_t trackId=theWaveform->GetTrackId();
136 // theWaveform->fitPeak(max_energy,peakPosition);
137 // max_energy/=theWaveform->get_scale();
138 // digi_time=peakPosition/fSampleRate;
139 // if (max_energy>fEnergyDigiThreshold)
140 // {
141 // new((*fDigiArray)[i_digi]) PndEmcDigi(trackId,detId, max_energy, peakPosition,hitIndex);
142 // i_digi++;
143 
144 // }
145 // }
146 
147 
148  vector<PndEmcWaveform*> *waveformList= Ifd< std::vector<PndEmcWaveform*> >::get(gblEvtDict);
149 
150  Int_t nWaveforms = waveformList->size();
151  if (0==waveformList) {
152  cout << "Failed to recover std::vector from the dictionary"
153  << endl;
154  assert(0);
155  }
156 
157  vector<PndEmcWaveform*>::const_iterator it=waveformList->begin();
158  for (it; it!=waveformList->end();it++)
159  {
160  hitIndex=(*it)->GetHitIndex();
161  Int_t detId=(*it)->GetDetectorId();
162  Int_t trackId=(*it)->GetTrackId();
163  (*it)->fitPeak(max_energy,peakPosition);
164  max_energy/=(*it)->get_scale();
165  digi_time=peakPosition/fSampleRate;
166  if (max_energy>fEnergyDigiThreshold)
167  {
168  new((*fDigiArray)[i_digi]) PndEmcDigi(trackId,detId, max_energy, peakPosition,hitIndex);
169  i_digi++;
170 
171  }
172 
173  }
174 
175  if (fVerbose>0){
176  timer.Stop();
177  Double_t rtime = timer.RealTime();
178  Double_t ctime = timer.CpuTime();
179  cout << "PndEmcTmpWaveformToDigi, Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
180  }
181 
182 }
represents the reconstructed hit of one emc crystal
Definition: PndEmcDigi.h:40
Double_t
TStopwatch timer
Definition: hit_dirc.C:51
Double_t ctime
Definition: hit_dirc.C:114
Double_t rtime
Definition: hit_dirc.C:113
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(), PndSttHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndRichHitProducer::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(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndEmcHitProducer::Init(), PndRecoMultiKalmanTask2::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndDrcTimeDigiTask::Init(), PndRecoKalmanTask2::Init(), PndEmcExpClusterSplitter::Init(), PndSdsNoiseProducer::Init(), PndFtsHoughTrackerTask::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsHybridHitProducer::Init(), PndSdsIdealRecoTask::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndSdsStripHitProducer::Init(), PndGemDigitize::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 PndEmcTmpWaveformToDigi::Init ( )
virtual

Virtual method Init

Definition at line 64 of file PndEmcTmpWaveformToDigi.cxx.

References PndEmcDigi::depth, fDigiArray, fDigiPar, fDigiPosMethod, fEmcDigiPositionDepth, fEmcDigiRescaleFactor, fEnergyDigiThreshold, fRecoPar, fSampleRate, PndEmcDigiPar::GetEnergyDigiThreshold(), PndPersistencyTask::GetPersistency(), PndEmcDigiPar::GetSampleRate(), PndEmcDigi::selectDigiPositionMethod(), and PndEmcDigi::surface.

65 {
66  // Get RootManager
67  FairRootManager* ioman = FairRootManager::Instance();
68  if ( ! ioman )
69  {
70  cout << "-E- PndEmcTmpWaveformToDigi::Init: "
71  << "RootManager not instantiated!" << endl;
72  return kFATAL;
73  }
74 
75  // Get input array
76 // fWaveformArray = (TClonesArray*) ioman->GetObject("EmcWaveform");
77 // if ( ! fWaveformArray ) {
78 // cout << "-W- PndEmcTmpWaveformToDigi::Init: "
79 // << "No PndEmcWaveform array!" << endl;
80 // return kERROR;
81 // }
82 
83  // Create and register output array
84  fDigiArray = new TClonesArray("PndEmcDigi");
85 
86  ioman->Register("EmcDigi","Emc",fDigiArray,GetPersistency());
89  fEmcDigiPositionDepth=fRecoPar->GetEmcDigiPositionDepth();
90 
91  cout<<"fEmcDigiPositionDepth: "<<fEmcDigiPositionDepth<<endl;
92 
93  if (!fDigiPosMethod.compare("surface"))
94  {
96  }
97  else if (!fDigiPosMethod.compare("depth"))
98  {
101  }
102  else
103  {
104  cout << "-W- PndEmcTmpWaveformToDigi::Init: "
105  << "Unknown digi position method!" << endl;
106  return kERROR;
107  }
108 
109  cout << "-I- PndEmcTmpWaveformToDigi: Intialization successfull" << endl;
110 
111  return kSUCCESS;
112 }
Double_t GetSampleRate()
Definition: PndEmcDigiPar.h:39
static void selectDigiPositionMethod(PositionMethod, double positionDepthPWO=0., double positionDepthShahslyk=0., double rescaleFactor=1.)
Definition: PndEmcDigi.cxx:153
Double_t GetEnergyDigiThreshold()
Definition: PndEmcDigiPar.h:42
void PndEmcTmpWaveformToDigi::SetParContainers ( )
privatevirtual

Reconstruction parameter container Get parameter containers

Definition at line 184 of file PndEmcTmpWaveformToDigi.cxx.

References fDigiPar, fRecoPar, and run.

184  {
185 
186  // Get run and runtime database
187  FairRun* run = FairRun::Instance();
188  if ( ! run ) Fatal("SetParContainers", "No analysis run");
189 
190  FairRuntimeDb* db = run->GetRuntimeDb();
191  if ( ! db ) Fatal("SetParContainers", "No runtime database");
192 
193  // Get Emc digitisation parameter container
194  fDigiPar = (PndEmcDigiPar*) db->getContainer("PndEmcDigiPar");
195 
196  // Get Emc reconstruction parameter container
197  fRecoPar = (PndEmcRecoPar*) db->getContainer("PndEmcRecoPar");
198 
199 }
Int_t run
Definition: autocutx.C:47
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12
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(), 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::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(), 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
void PndEmcTmpWaveformToDigi::SetStorageOfData ( Bool_t  val)

Definition at line 201 of file PndEmcTmpWaveformToDigi.cxx.

References PndPersistencyTask::SetPersistency().

202 {
204  return;
205 }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void SetPersistency(Bool_t val=kTRUE)

Member Data Documentation

TClonesArray* PndEmcTmpWaveformToDigi::fDigiArray
private

output array of EmcDigis

Definition at line 68 of file PndEmcTmpWaveformToDigi.h.

Referenced by Exec(), and Init().

PndEmcDigiPar* PndEmcTmpWaveformToDigi::fDigiPar
private

Definition at line 77 of file PndEmcTmpWaveformToDigi.h.

Referenced by Init(), and SetParContainers().

std::string PndEmcTmpWaveformToDigi::fDigiPosMethod
private

Definition at line 73 of file PndEmcTmpWaveformToDigi.h.

Referenced by Init(), and PndEmcTmpWaveformToDigi().

Double_t PndEmcTmpWaveformToDigi::fEmcDigiPositionDepth
private

Definition at line 75 of file PndEmcTmpWaveformToDigi.h.

Referenced by Init().

Double_t PndEmcTmpWaveformToDigi::fEmcDigiRescaleFactor
private

Definition at line 74 of file PndEmcTmpWaveformToDigi.h.

Referenced by Init(), and PndEmcTmpWaveformToDigi().

Double_t PndEmcTmpWaveformToDigi::fEnergyDigiThreshold
private

Definition at line 71 of file PndEmcTmpWaveformToDigi.h.

Referenced by Exec(), and Init().

PndEmcRecoPar* PndEmcTmpWaveformToDigi::fRecoPar
private

Digitisation parameter container

Definition at line 78 of file PndEmcTmpWaveformToDigi.h.

Referenced by Init(), and SetParContainers().

Double_t PndEmcTmpWaveformToDigi::fSampleRate
private

Definition at line 70 of file PndEmcTmpWaveformToDigi.h.

Referenced by Exec(), and Init().

Int_t PndEmcTmpWaveformToDigi::fVerbose
private

Verbosity level

Definition at line 83 of file PndEmcTmpWaveformToDigi.h.

Referenced by Exec(), and PndEmcTmpWaveformToDigi().

TClonesArray* PndEmcTmpWaveformToDigi::fWaveformArray
private

Input array of PndEmcWaveforms

Definition at line 65 of file PndEmcTmpWaveformToDigi.h.


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