FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndRichHitFinder Class Reference

#include <PndRichHitFinder.h>

Inheritance diagram for PndRichHitFinder:
PndPersistencyTask

Public Member Functions

 PndRichHitFinder ()
 
 PndRichHitFinder (Int_t iVerbose)
 
 PndRichHitFinder (const char *name, Int_t iVerbose)
 
virtual ~PndRichHitFinder ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual InitStatus ReInit ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishEvent ()
 
virtual void FinishTask ()
 
void SetPixelFactor (Int_t factor)
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

void Register ()
 
void Reset ()
 
void ProduceHits ()
 
 ClassDef (PndRichHitFinder, 1)
 

Protected Attributes

Bool_t fDigiPixelMCInfo
 
TClonesArray * fDigiArray
 
TClonesArray * fPdHitArray
 
FairMCEventHeader * fMCEventHeader
 
TString fInBranchName
 
Int_t fPixelFactor
 
Double_t fPixelSize
 
Double_t fPixelGap
 
Double_t fPixelStep
 
Double_t fMcpActiveArea
 
Int_t fNpix
 
Int_t fPixelHits
 
PndGeoHandlingfGeoH
 
PndRichGeofGeo
 
Int_t fEventNr
 
PndRichDigifDigi
 
Int_t fHitNumber
 
Double_t fThreshold
 
Double_t petime
 
Double_t fTimeStep
 
Int_t fTimeGate
 
Int_t fInd
 
Int_t fIBuffer
 
Int_t fIBufferPrev
 
std::vector< Int_t > fBufferNumHits
 
std::vector< Double_tfBufferStartTime
 
std::vector< std::vector
< Double_t > > 
fHitsBuffer
 
BinaryFunctor * fStopFunctor
 
BinaryFunctor * fGapFunctor
 
std::vector< PndRichPDHitfPDHitList
 

Detailed Description

Definition at line 28 of file PndRichHitFinder.h.

Constructor & Destructor Documentation

PndRichHitFinder::PndRichHitFinder ( )

Default constructor

Definition at line 25 of file PndRichHitFinder.cxx.

References fBufferNumHits, fBufferStartTime, fDigiArray, fEventNr, fGeo, fGeoH, fHitNumber, fHitsBuffer, fIBuffer, fIBufferPrev, fInd, fMCEventHeader, fPdHitArray, fPixelFactor, fPixelHits, fStopFunctor, fThreshold, fTimeGate, fTimeStep, fVerbose, petime, and PndPersistencyTask::SetPersistency().

25  :
26 PndPersistencyTask("RichHitFinder", 1)
27 {
28  SetPersistency(kTRUE);
29  fPixelHits = 0;
30  fEventNr = 0;
31  fPixelFactor = 1;
32  fHitNumber = 0;
33 
34  if(fVerbose>0) Info("PndRichHitFinder","RICH Hit Finder created, Parameters will be taken from RTDB");
35  fGeoH=NULL;
36  fGeo = new PndRichGeo();
37  fDigiArray = NULL;
38  fPdHitArray = NULL;
39  fMCEventHeader = NULL;
40  fStopFunctor = NULL;
41 
42  fInd = 0;
43  fTimeGate = 1;
44  fTimeStep = 0.5; //ns
45  fIBuffer = 0;
46  fIBufferPrev = 1;
47  fBufferStartTime.resize(2);
48  fBufferStartTime.at(0) = 0;
49  fBufferStartTime.at(1) = 0;
50  fHitsBuffer.resize(2);
51  fHitsBuffer.at(0).resize(1000);
52  fHitsBuffer.at(1).resize(1000);
53  fBufferNumHits.resize(2);
54  fBufferNumHits.at(0) = 0;
55  fBufferNumHits.at(1) = 0;
56  fThreshold = 5;
57  petime = -1;
58 
59 // fPixelSize = fGeo->PixelSize(); //pixel size;
60 // fNpix = fGeo->Npixels(); //pixel columns
61 // fMcpActiveArea = fGeo->McpActiveArea();
62 // fPixelGap = (fMcpActiveArea - (Double_t)fNpix*fPixelSize) / ((Double_t)fNpix - 1.);
63 // fPixelStep = fMcpActiveArea/fNpix;//fPixelSize + 0.5*fPixelGap;
64 
65 }
int fVerbose
Definition: poormantracks.C:24
PndGeoHandling * fGeoH
std::vector< std::vector< Double_t > > fHitsBuffer
void SetPersistency(Bool_t val=kTRUE)
FairMCEventHeader * fMCEventHeader
std::vector< Double_t > fBufferStartTime
BinaryFunctor * fStopFunctor
std::vector< Int_t > fBufferNumHits
PndRichGeo * fGeo
TClonesArray * fPdHitArray
TClonesArray * fDigiArray
PndRichHitFinder::PndRichHitFinder ( Int_t  iVerbose)

Standard constructor

Definition at line 68 of file PndRichHitFinder.cxx.

References fBufferNumHits, fBufferStartTime, fDigiArray, fDigiPixelMCInfo, fEventNr, fGeo, fGeoH, fHitsBuffer, fIBuffer, fIBufferPrev, fInd, fMCEventHeader, fPdHitArray, fPixelFactor, fPixelHits, fStopFunctor, fThreshold, fTimeGate, fTimeStep, fVerbose, petime, and PndPersistencyTask::SetPersistency().

68  :
69  PndPersistencyTask("RichHitFinder", iVerbose)
70 {
71  SetPersistency(kTRUE);
72  fPixelHits = 0;
73  fEventNr = 0;
74  fPixelFactor = 1;
75  fGeoH = NULL;
76  fGeo = new PndRichGeo();
77  fDigiPixelMCInfo = kFALSE;
78  if(fVerbose>0) Info("PndRichHitFinder","RichHitFinder created, Parameters will be taken from RTDB");
79 
80  fDigiArray = NULL;
81  fPdHitArray = NULL;
82  fMCEventHeader = NULL;
83  fStopFunctor = NULL;
84 
85  fInd = 0;
86  fTimeGate = 1;
87  fTimeStep = 0.5; //ns
88  fIBuffer = 0;
89  fIBufferPrev = 1;
90  fBufferStartTime.resize(2);
91  fBufferStartTime.at(0) = 0;
92  fBufferStartTime.at(1) = 0;
93  fHitsBuffer.resize(2);
94  fHitsBuffer.at(0).resize(1000);
95  fHitsBuffer.at(1).resize(1000);
96  fBufferNumHits.resize(2);
97  fBufferNumHits.at(0) = 0;
98  fBufferNumHits.at(1) = 0;
99  fThreshold = 5;
100  petime = -1;
101 
102 // fPixelSize = fGeo->PixelSize(); //pixel size;
103 // fNpix = fGeo->Npixels(); //pixel rows in one FE
104 // fMcpActiveArea = fGeo->McpActiveArea();
105 // fPixelGap = (fMcpActiveArea - (Double_t)fNpix*fPixelSize) / ((Double_t)fNpix - 1.);
106 // fPixelStep = fPixelSize + 0.5*fPixelGap;
107 }
int fVerbose
Definition: poormantracks.C:24
PndGeoHandling * fGeoH
std::vector< std::vector< Double_t > > fHitsBuffer
void SetPersistency(Bool_t val=kTRUE)
FairMCEventHeader * fMCEventHeader
std::vector< Double_t > fBufferStartTime
BinaryFunctor * fStopFunctor
std::vector< Int_t > fBufferNumHits
PndRichGeo * fGeo
TClonesArray * fPdHitArray
Int_t iVerbose
TClonesArray * fDigiArray
PndRichHitFinder::PndRichHitFinder ( const char *  name,
Int_t  iVerbose 
)

Named constructor

Definition at line 109 of file PndRichHitFinder.cxx.

References fDigiArray, fDigiPixelMCInfo, fEventNr, fGeo, fGeoH, fHitsBuffer, fIBuffer, fMCEventHeader, fPdHitArray, fPixelFactor, fPixelHits, fTimeStep, fVerbose, petime, and PndPersistencyTask::SetPersistency().

109  :
111 {
112  SetPersistency(kTRUE);
113  fPixelHits = 0;
114  fEventNr = 0;
115  fPixelFactor = 1;
116  fGeoH = NULL;
117  fGeo = new PndRichGeo();
118  fDigiPixelMCInfo = kFALSE;
119  if(fVerbose>0) Info("PndRichHitFinder","%s created, Parameters will be taken from RTDB",name);
120 
121  fDigiArray = NULL;
122  fPdHitArray = NULL;
123  fMCEventHeader = NULL;
124 
125  fTimeStep = 0.5; //ns
126  fIBuffer = 0;
127  fHitsBuffer.resize(2);
128  fHitsBuffer.at(0).resize(1000);
129  fHitsBuffer.at(1).resize(1000);
130  petime = -1;
131 
132 // fPixelSize = fGeo->PixelSize(); //pixel size;
133 // fNpix = fGeo->Npixels(); //pixel rows in one FE
134 // fMcpActiveArea = fGeo->McpActiveArea();
135 // fPixelGap = (fMcpActiveArea - (Double_t)fNpix*fPixelSize) / ((Double_t)fNpix - 1.);
136 // fPixelStep = fPixelSize + 0.5*fPixelGap;
137 }
int fVerbose
Definition: poormantracks.C:24
PndGeoHandling * fGeoH
std::vector< std::vector< Double_t > > fHitsBuffer
void SetPersistency(Bool_t val=kTRUE)
FairMCEventHeader * fMCEventHeader
TString name
PndRichGeo * fGeo
TClonesArray * fPdHitArray
Int_t iVerbose
TClonesArray * fDigiArray
PndRichHitFinder::~PndRichHitFinder ( )
virtual

Destructor

Definition at line 141 of file PndRichHitFinder.cxx.

References fGeo, and fGeoH.

141  {
142  if (fGeo) delete fGeo;
143  if (fGeoH) delete fGeoH;
144 }
PndGeoHandling * fGeoH
PndRichGeo * fGeo

Member Function Documentation

PndRichHitFinder::ClassDef ( PndRichHitFinder  ,
 
)
protected
void PndRichHitFinder::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 196 of file PndRichHitFinder.cxx.

References Double_t, fBufferNumHits, fBufferStartTime, fDigi, fDigiArray, fEventNr, fGapFunctor, fHitNumber, fHitsBuffer, fIBuffer, fIBufferPrev, fInBranchName, fInd, fPdHitArray, fThreshold, fTimeGate, fTimeStep, fVerbose, PndRichDigi::GetPosition(), PndRichDigi::GetSensorId(), PndRichDigi::GetTime(), i, nhits, petime, pos, and t.

196  {
197 
198  if(fVerbose>3) Info("Exec","Start");
199  if (!fPdHitArray) Fatal("Exec", "No PdHitArray");
200  fPdHitArray->Clear();
201 
202  Double_t etime = FairRootManager::Instance()->GetEventTime();
203  if (FairRunAna::Instance()->IsTimeStamp()){
204  //fDigiArray = FairRootManager::Instance()->GetData(fInBranchName, fStopFunctor, etime, fStopFunctor, etime+100);
205  fDigiArray = FairRootManager::Instance()->GetData(fInBranchName, fGapFunctor, 10);
206 
207  Int_t nDigis = fDigiArray->GetEntriesFast();
208  std::cout << "nDigis = " << nDigis << " " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
209  if (nDigis>0)
210  {
211  Double_t timef = ((PndRichDigi*)fDigiArray->At(0))->GetTime();
212  Double_t timel = ((PndRichDigi*)fDigiArray->At(nDigis-1))->GetTime();
215  if ((Int_t)fHitsBuffer.at(fIBuffer).size()<fBufferNumHits.at(fIBuffer))
217  for(Int_t i=0; i<fBufferNumHits.at(fIBuffer);i++)fHitsBuffer.at(fIBuffer).at(i)=0;
218  for (Int_t iDigi = 0; iDigi < nDigis; iDigi++)
219  {
220  Double_t hitTime = ((PndRichDigi*)fDigiArray->At(iDigi))->GetTime();
221  Int_t ind = (hitTime-fBufferStartTime.at(fIBuffer))/fTimeStep;
222  if (hitTime>fBufferStartTime.at(fIBuffer))
223  {
224  fHitsBuffer.at(fIBuffer).at(ind)++;
225  }
226  else
227  {
228  ind += fBufferNumHits.at(fIBufferPrev)-1;
229  fHitsBuffer.at(fIBufferPrev).at(ind)++;
230  }
231  }
232  Int_t nbr = fBufferNumHits.at(fIBuffer);
233  Int_t nbrp = fBufferNumHits.at(fIBufferPrev);
234  Int_t im = nbr + nbrp - 3*fTimeGate;
235  Int_t imax_;
236  Int_t nhitsmax = 0;
237  std::vector< Int_t > nmax;
238  std::vector< Int_t > imax;
239  std::vector< Int_t > istart;
240  std::vector< Int_t > istop;
241  Int_t nhitsprev = 0;
242  Int_t ilast;
243  // for(Int_t i = fInd; i<im; i++)
244  // {
245  // std::cout << i << " " << (i<nbrp) << " "
246  // << ( i<nbrp ?
247  // fHitsBuffer.at(fIBufferPrev).at(i) :
248  // fHitsBuffer.at(fIBuffer).at(i-nbrp) ) << std::endl;
249  // }
250  for(Int_t i = fInd; i<im; i++)
251  {
252  Int_t nhits = 0;
253  for(Int_t j = i-fTimeGate; j<=i+fTimeGate; j++)
254  if (j>=0) nhits += j<nbrp ?
255  fHitsBuffer.at(fIBufferPrev).at(j) :
256  fHitsBuffer.at(fIBuffer).at(j-nbrp);
257  // std::cout << i << " " << (i<nbrp) << " "
258  // << ( i<nbrp ?
259  // fHitsBuffer.at(fIBufferPrev).at(i) :
260  // fHitsBuffer.at(fIBuffer).at(i-nbrp) ) << " " << nhits << " " << nhitsmax;
261  if ((nhits>fThreshold)&&(nhitsprev<=fThreshold)) istart.push_back(i);
262  if ((nhits>fThreshold)&&(nhits>nhitsmax))
263  {
264  nhitsmax = nhits;
265  imax_ = i;
266  }
267  // std::cout << std::endl;
268  if ((nhits<=fThreshold)&&(nhitsprev>fThreshold))
269  {
270  nmax.push_back(nhitsmax);
271  imax.push_back(imax_);
272  istop.push_back(i-1);
274  std::cout << "peak = " << imax.size() << " " << imax_ << " " << nhitsmax << " "
275  << istop.back() << " " << istart.back() << " " << t << std::endl;
276  nhitsmax = 0;
277  imax_ = -1;
278  }
279  if (nhits<5) ilast = i;
280  nhitsprev = nhits;
281  }
282  fInd = ilast - nbrp;
283 
284  if(fVerbose>1) std::cout<<"-I- PndRichHitFinder: Event # "<< fEventNr<<" has "<<nDigis<<" digis."<< std::endl;
285  else if(fVerbose==1 && fEventNr%1000==0) std::cout<<"-I- PndRichHitFinder: Event # "<< fEventNr<<" has "<<nDigis<<" digis."<< std::endl;
286  std::cout<<"-I- PndRichHitFinder: Event # "<< fEventNr<<" has "<<nDigis<<" digis. "
287  << FairRunAna::Instance()->IsTimeStamp() << " " << etime << " "
288  << timel-timef << " " << etime << " " << timef << " " << timel << " " << petime << std::endl;
289 
290  std::cout << "buffer: " << fIBuffer << " " << fBufferNumHits.at(fIBuffer) << " " <<
291  fBufferStartTime.at(fIBuffer) << std::endl;
292 
293  Int_t detID = 0;//, mcpID = 0, pixelID = 0;
294  TVector3 HitPosGlobal, HitPosLocal, dPosHit;
295  Double_t hitTime = 0.;
296  fHitNumber += nDigis;
297 
298  for (Int_t iDigi = 0; iDigi < nDigis; iDigi++){
299  fDigi = (PndRichDigi*) fDigiArray->At(iDigi);
300  detID = -999;//fDigi->GetDetectorId();
301  // pixelID = detID - 100*(Int_t)TMath::Floor((Double_t)detID/100.);
302  // mcpID = detID/100;
303  hitTime = fDigi->GetTime();
304  Int_t sensorId = -999;
305 
306  // the pixel number shows local coordinates of the hit:
307 // HitPosLocal.SetXYZ(fPixelStep*((Double_t)(pixelID % fNpix) - (Double_t)(fNpix/2) + 0.5),
308 // fPixelStep*(TMath::Floor(((Double_t)pixelID)/((Double_t)fNpix)) - (Double_t)(fNpix/2) + 0.5), 0.);
309 // Int_t sensorId = fDigi->GetSensorId()/fPixelFactor;
310 // if(fPixelFactor==2) { //double pixels
311 // sensorId++;
312 // if(fDigi->GetSensorId()%2) HitPosLocal.SetX(HitPosLocal.X()+fPixelSize/2.);
313 // else HitPosLocal.SetX(HitPosLocal.X()-fPixelSize/2.);
314 // }
315 
316  // local coordinates of the hit on the MCP are translated into global ones as the following:
317 // HitPosGlobal = fGeoH->LocalToMasterShortId(HitPosLocal, mcpID);
318 // dPosHit.SetXYZ(fPixelSize/2., fPixelSize/2., 0.);
319 // if(fPixelFactor==2) dPosHit.SetXYZ(fPixelSize, fPixelSize/2., 0.);
320 
321 
322  if(fDigi->GetTimeStamp()!=etime+hitTime) hitTime = fDigi->GetTimeStamp() - etime;
323  PndRichPDHit pdhit = PndRichPDHit(iDigi, detID, sensorId , HitPosGlobal, dPosHit, hitTime, 0.);
324  // pdhit.SetPdgCode(fDigi->GetPdgCode());
325  pdhit.SetTimeStamp(fDigi->GetTimeStamp());
326  // pdhit.SetTimeAtBar(fDigi->GetTimeAtBar());
327  pdhit.SetLink(fDigi->GetLink(0)); // MCTrack
328  pdhit.AddLink(fDigi->GetLink(1)); // RichPDPoint
329  pdhit.AddLink(FairLink(-1,fEventNr, "RichDigi", iDigi));
330  //((FairMultiLinkedData)pdhit).Print(); std::cout<<std::endl;
331  new((*fPdHitArray)[fPdHitArray->GetEntriesFast()]) PndRichPDHit(pdhit);
332  }
333  // switch between buffers
335  fIBuffer = fIBuffer ? 0 : 1;
336  fBufferStartTime.at(fIBuffer) = stopTime;
337  petime = etime;
338  }
339  }
340  else
341  {
342  Int_t nDigis = fDigiArray->GetEntriesFast();
343  for (Int_t iDigi = 0; iDigi < nDigis; iDigi++){
344  fDigi = (PndRichDigi*) fDigiArray->At(iDigi);
345  Int_t detID = -999;
346  Int_t sensorId = fDigi->GetSensorId();
347  Double_t hitTime = fDigi->GetTime();
348  TVector3 pos = fDigi->GetPosition();
349  TVector3 dpos(0,0,0);
350  PndRichPDHit pdhit = PndRichPDHit(iDigi, detID, sensorId , pos, dpos, hitTime, 0.);
351  new((*fPdHitArray)[fPdHitArray->GetEntriesFast()]) PndRichPDHit(pdhit);
352  }
353  std::cout << "Event = " << fEventNr << " nDigis = " << nDigis << " " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
354  }
355 
356  fEventNr++;
357  if(fVerbose>3) Info("Exec","Loop MC points");
358 
359  fPdHitArray->Sort();
360  fDigiArray->Delete();
361 
362 }
TVector3 pos
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
BinaryFunctor * fGapFunctor
std::vector< std::vector< Double_t > > fHitsBuffer
PndRichDigi * fDigi
std::vector< Double_t > fBufferStartTime
TVector3 GetPosition() const
Definition: PndRichDigi.h:74
Double_t
std::vector< Int_t > fBufferNumHits
Int_t GetSensorId() const
Definition: PndRichDigi.h:75
TClonesArray * fPdHitArray
TTree * t
Definition: bump_analys.C:13
TClonesArray * fDigiArray
virtual Double_t GetTime()
Definition: PndRichDigi.h:71
void PndRichHitFinder::FinishEvent ( )
virtual

Definition at line 366 of file PndRichHitFinder.cxx.

367 {
368  FinishEvents();
369 }
void PndRichHitFinder::FinishTask ( )
virtual

Definition at line 372 of file PndRichHitFinder.cxx.

References fHitNumber.

373 {
374  std::cout << "-I- PndRichHitFinder: Total number of hits is " << fHitNumber << std::endl;
375 }
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(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndEmcHitProducer::Init(), PndRecoMultiKalmanTask2::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::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 PndRichHitFinder::Init ( )
virtual

Definition at line 162 of file PndRichHitFinder.cxx.

References fDigiArray, fGapFunctor, fInBranchName, fPdHitArray, fStopFunctor, and PndPersistencyTask::GetPersistency().

162  {
163  //FairRun* ana = FairRun::Instance(); //[R.K. 01/2017] unused variable?
164  FairRootManager* ioman = FairRootManager::Instance();
165  if ( ! ioman )
166  {
167  std::cout << "-E- PndRichHitFinder::Init: "
168  << "RootManager not instantiated!" << std::endl;
169  return kFATAL;
170  }
171 
172  std::cout << "FairRunAna::Instance()->IsTimeStamp() = " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
173  if (FairRunAna::Instance()->IsTimeStamp())
174  fInBranchName = "RichDigiSorted";
175  else
176  fInBranchName = "RichDigi";
177  // Get input array
178  fDigiArray = (TClonesArray*) ioman->GetObject(fInBranchName);
179  if ( ! fDigiArray )
180  {
181  std::cout << "-W- PndRichHitFinder::Init: "
182  << "No RichDigi array!" << std::endl;
183  return kERROR;
184  }
185 
186  // Create and register output array
187  fPdHitArray = new TClonesArray("PndRichPDHit");
188  ioman->Register("RichPDHit", "Rich", fPdHitArray, GetPersistency());
189 
190  fGapFunctor = new TimeGap();
191  fStopFunctor = new StopTime();
192  return kSUCCESS;
193 }
BinaryFunctor * fGapFunctor
BinaryFunctor * fStopFunctor
TClonesArray * fPdHitArray
TClonesArray * fDigiArray
void PndRichHitFinder::ProduceHits ( )
protected
void PndRichHitFinder::Register ( )
protected
InitStatus PndRichHitFinder::ReInit ( )
virtual

Definition at line 156 of file PndRichHitFinder.cxx.

References SetParContainers().

156  {
158  return kSUCCESS;
159 }
virtual void SetParContainers()
void PndRichHitFinder::Reset ( )
protected
void PndRichHitFinder::SetParContainers ( )
virtual

Virtual method Init

Definition at line 148 of file PndRichHitFinder.cxx.

References fGeoH, fVerbose, PndGeoHandling::Instance(), PndGeoHandling::SetParContainers(), and PndGeoHandling::SetVerbose().

Referenced by ReInit().

148  {
149  if ( fGeoH == NULL ) fGeoH = PndGeoHandling::Instance();
152  if(fVerbose>1) Info("SetParContainers","done.");
153  return;
154 }
int fVerbose
Definition: poormantracks.C:24
virtual void SetParContainers()
PndGeoHandling * fGeoH
static PndGeoHandling * Instance()
void SetVerbose(Int_t v)
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(), 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(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcMakeClusterOnline::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
void PndRichHitFinder::SetPixelFactor ( Int_t  factor)
inline

Definition at line 56 of file PndRichHitFinder.h.

References fPixelFactor.

56 {fPixelFactor = factor;}

Member Data Documentation

std::vector< Int_t > PndRichHitFinder::fBufferNumHits
protected

Definition at line 95 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

std::vector< Double_t > PndRichHitFinder::fBufferStartTime
protected

Definition at line 96 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

PndRichDigi* PndRichHitFinder::fDigi
protected

Definition at line 85 of file PndRichHitFinder.h.

Referenced by Exec().

TClonesArray* PndRichHitFinder::fDigiArray
protected

Input array of PndRichDigis

Definition at line 63 of file PndRichHitFinder.h.

Referenced by Exec(), Init(), and PndRichHitFinder().

Bool_t PndRichHitFinder::fDigiPixelMCInfo
protected

Definition at line 60 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder().

Int_t PndRichHitFinder::fEventNr
protected

Definition at line 84 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

BinaryFunctor* PndRichHitFinder::fGapFunctor
protected

Definition at line 100 of file PndRichHitFinder.h.

Referenced by Exec(), and Init().

PndRichGeo* PndRichHitFinder::fGeo
protected

Definition at line 83 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder(), and ~PndRichHitFinder().

PndGeoHandling* PndRichHitFinder::fGeoH
protected

Definition at line 82 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder(), SetParContainers(), and ~PndRichHitFinder().

Int_t PndRichHitFinder::fHitNumber
protected

Definition at line 86 of file PndRichHitFinder.h.

Referenced by Exec(), FinishTask(), and PndRichHitFinder().

std::vector< std::vector<Double_t > > PndRichHitFinder::fHitsBuffer
protected

Definition at line 97 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

Int_t PndRichHitFinder::fIBuffer
protected

Definition at line 93 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

Int_t PndRichHitFinder::fIBufferPrev
protected

Definition at line 94 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

TString PndRichHitFinder::fInBranchName
protected

Definition at line 74 of file PndRichHitFinder.h.

Referenced by Exec(), and Init().

Int_t PndRichHitFinder::fInd
protected

Definition at line 92 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

FairMCEventHeader* PndRichHitFinder::fMCEventHeader
protected

Definition at line 68 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder().

Double_t PndRichHitFinder::fMcpActiveArea
protected

Definition at line 79 of file PndRichHitFinder.h.

Int_t PndRichHitFinder::fNpix
protected

Definition at line 80 of file PndRichHitFinder.h.

TClonesArray* PndRichHitFinder::fPdHitArray
protected

Output array of PndRichPDHits

Definition at line 66 of file PndRichHitFinder.h.

Referenced by Exec(), Init(), and PndRichHitFinder().

std::vector<PndRichPDHit> PndRichHitFinder::fPDHitList
protected

Definition at line 102 of file PndRichHitFinder.h.

Int_t PndRichHitFinder::fPixelFactor
protected

Definition at line 75 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder(), and SetPixelFactor().

Double_t PndRichHitFinder::fPixelGap
protected

Definition at line 77 of file PndRichHitFinder.h.

Int_t PndRichHitFinder::fPixelHits
protected

Definition at line 81 of file PndRichHitFinder.h.

Referenced by PndRichHitFinder().

Double_t PndRichHitFinder::fPixelSize
protected

Definition at line 76 of file PndRichHitFinder.h.

Double_t PndRichHitFinder::fPixelStep
protected

Definition at line 78 of file PndRichHitFinder.h.

BinaryFunctor* PndRichHitFinder::fStopFunctor
protected

Definition at line 99 of file PndRichHitFinder.h.

Referenced by Init(), and PndRichHitFinder().

Double_t PndRichHitFinder::fThreshold
protected

Definition at line 88 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

Int_t PndRichHitFinder::fTimeGate
protected

Definition at line 91 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

Double_t PndRichHitFinder::fTimeStep
protected

Definition at line 90 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().

Double_t PndRichHitFinder::petime
protected

Definition at line 89 of file PndRichHitFinder.h.

Referenced by Exec(), and PndRichHitFinder().


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