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

#include <PndEmcMakeClusterOnline.h>

Inheritance diagram for PndEmcMakeClusterOnline:
PndPersistencyTask

Public Member Functions

 PndEmcMakeClusterOnline (Int_t verbose=0, Bool_t storeclusters=kTRUE)
 
virtual ~PndEmcMakeClusterOnline ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishTask ()
 
void SetStorageOfData (Bool_t val)
 Method to specify whether clusters are stored or not. More...
 
void StoreClusterBaseDigis (Bool_t val=kTRUE)
 Restoring digis makes only sense if reconstruction is done timebased. More...
 
void SetClusterActiveTime (Double_t time)
 Override EmcRecoPar cluster active time parameter ..to be set in ns!!! More...
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

virtual void FinishClusters ()
 
void FinishCluster (PndEmcCluster *tmpcluster)
 

Private Member Functions

virtual void SetParContainers ()
 
 PndEmcMakeClusterOnline (const PndEmcMakeClusterOnline &L)
 
PndEmcMakeClusterOnlineoperator= (const PndEmcMakeClusterOnline &)
 

Private Attributes

TClonesArray * fDigiArray
 
TClonesArray * fClusterArray
 active clusters More...
 
PndEmcGeoParfGeoPar
 
PndEmcRecoParfRecoPar
 
Double_t fDigiEnergyTresholdBarrel
 
Double_t fDigiEnergyTresholdFWD
 
Double_t fDigiEnergyTresholdBWD
 
Double_t fDigiEnergyTresholdShashlyk
 
Double_t fClusterActiveTime
 Defines how long clusters are kept open in timebased reconstruction. More...
 
BinaryFunctor * fDigiFunctor
 
Bool_t fStoreClusterBase
 
TStopwatch fTimer
 

Detailed Description

Definition at line 25 of file PndEmcMakeClusterOnline.h.

Constructor & Destructor Documentation

PndEmcMakeClusterOnline::PndEmcMakeClusterOnline ( Int_t  verbose = 0,
Bool_t  storeclusters = kTRUE 
)

Definition at line 43 of file PndEmcMakeClusterOnline.cxx.

References PndPersistencyTask::SetPersistency().

43  :
44  PndPersistencyTask("EmcClusteringTask", verbose),
45  fDigiArray(NULL),
46  fClusterArray(NULL),
47  fGeoPar(new PndEmcGeoPar()),
48  fRecoPar(new PndEmcRecoPar()),
51  fDigiFunctor(NULL),
52  fStoreClusterBase(kTRUE)
53 {
54  SetPersistency(storeclusters);
55 }
#define verbose
void SetPersistency(Bool_t val=kTRUE)
TClonesArray * fClusterArray
active clusters
Double_t fClusterActiveTime
Defines how long clusters are kept open in timebased reconstruction.
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12
PndEmcMakeClusterOnline::~PndEmcMakeClusterOnline ( )
virtual

Definition at line 61 of file PndEmcMakeClusterOnline.cxx.

62 {
63 }
PndEmcMakeClusterOnline::PndEmcMakeClusterOnline ( const PndEmcMakeClusterOnline L)
private

Member Function Documentation

void PndEmcMakeClusterOnline::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 119 of file PndEmcMakeClusterOnline.cxx.

References PndEmcCluster::addCluster(), PndEmcCluster::addDigi(), digiCounter, evtCounter, fClusterActiveTime, fClusterArray, fDigiArray, fDigiEnergyTresholdBarrel, fDigiEnergyTresholdBWD, fDigiEnergyTresholdFWD, fDigiEnergyTresholdShashlyk, fDigiFunctor, FinishClusters(), fTimer, fVerbose, PndEmcDigi::GetEnergy(), PndEmcDigi::GetModule(), and PndEmcCluster::isInCluster().

119  {
120 
121  if (fVerbose>2){
122  fTimer.Start();
123  }
124 
125  // Reset output arrays
126  if ( ! fClusterArray ) Fatal("Exec", "No Cluster Array");
127  fClusterArray->Delete();
128  fDigiArray->Delete();
129 
130 
131  // Get all digis up to a certain time gap specified by fClusterActiveTime
132  fDigiArray->AbsorbObjects(FairRootManager::Instance()->GetData("EmcDigiSorted", fDigiFunctor, fClusterActiveTime));
133 
134  // --------------------- start coding here :-) ---------------------------
135 
136 
137  Int_t nDigis = fDigiArray->GetEntriesFast();
138 
139  if (fVerbose>2){
140  cout<<"Event no: " << evtCounter++ << "\tDigiList length: "<<nDigis<<endl;
141  digiCounter += nDigis;
142  }
143 
144  /* create a new cluster like this */
145  PndEmcCluster* cluster_A = new((*fClusterArray)[fClusterArray->GetEntriesFast()]) PndEmcCluster();
146  PndEmcCluster* cluster_B = new((*fClusterArray)[fClusterArray->GetEntriesFast()]) PndEmcCluster();
147 
148 
149  //loop over all digis to add them to clusters
150 
151  for (Int_t iDigi=0; iDigi<nDigis; ++iDigi) {
152 
153  /* Get a new digi from the digi array */
154  PndEmcDigi* theDigi = (PndEmcDigi*) fDigiArray->At(iDigi);
155 
156  // thresholds: if energy is below the corresponding threshold, digi is not considered in clustering
157  {
158  Int_t module=theDigi->GetModule();
159  if ((module==1||module==2) && (theDigi->GetEnergy()< fDigiEnergyTresholdBarrel)) continue;
160  if ((module==3) && (theDigi->GetEnergy()< fDigiEnergyTresholdFWD)) continue;
161  if ((module==4) && (theDigi->GetEnergy()< fDigiEnergyTresholdBWD)) continue;
162  if ((module==5) && (theDigi->GetEnergy()< fDigiEnergyTresholdShashlyk)) continue;
163  }
164 
165  /* add digis alternating to cluster_A resp. to cluster_B */
166  {
167  if(iDigi%2) {
168  cluster_A->addDigi(fDigiArray, iDigi);
169  cluster_A->AddLink(theDigi->GetEntryNr());
170  } else {
171  cluster_B->addDigi(fDigiArray, iDigi);
172  cluster_B->AddLink(theDigi->GetEntryNr());
173  }
174  }
175 
176  if(fVerbose>5) {
177  /* function to ask weather a digi belongs to a cluster (i.e. is a neighbor) */
178  if(cluster_A->isInCluster(theDigi, fDigiArray)) {
179  cout << "incoming digi " << theDigi << " belongs to (is direct neighbor) cluster_A (" << cluster_A <<")" << endl;
180  }
181  if(cluster_B->isInCluster(theDigi, fDigiArray)) {
182  cout << "incoming digi " << theDigi << " belongs to (is direct neighbor) cluster_B (" << cluster_A <<")" << endl;
183  }
184  }
185  }
186 
187  /* merge two clusters */
188  cluster_A->addCluster(cluster_B, fDigiArray);
189  fClusterArray->Remove(cluster_B); //remove cluster_B now from the list of clusters
190  fClusterArray->Compress(); //remove open position from TClonesArray
191 
192  // --------------------- stop---------------------------------------------
193 
194  FinishClusters();
195 
196 }
int fVerbose
Definition: poormantracks.C:24
bool isInCluster(PndEmcDigi *theDigi, const TClonesArray *digiArray)
virtual Double_t GetEnergy() const
Definition: PndEmcDigi.cxx:296
represents the reconstructed hit of one emc crystal
Definition: PndEmcDigi.h:40
static Int_t evtCounter
static Int_t digiCounter
Short_t GetModule() const
Definition: PndEmcDigi.h:103
void addCluster(PndEmcCluster *cluster, const TClonesArray *digiArray)
a cluster (group of neighboring crystals) of hit emc crystals
Definition: PndEmcCluster.h:29
TClonesArray * fClusterArray
active clusters
Double_t fClusterActiveTime
Defines how long clusters are kept open in timebased reconstruction.
virtual void addDigi(const TClonesArray *digiArray, Int_t iDigi)
void PndEmcMakeClusterOnline::FinishCluster ( PndEmcCluster tmpcluster)
protected

Definition at line 215 of file PndEmcMakeClusterOnline.cxx.

References PndEmcCluster::DigiList(), Double_t, fDigiArray, PndEmcDigi::GetEnergy(), idx, max_energy, and PndEmcCluster::SetEnergy().

Referenced by FinishClusters().

215  {
216 
217  //----here you might set energy and time etc. to the clusters, e.g. like follows
218 
219  std::vector<Int_t> list = cluster->DigiList();
220 
221  Double_t total_energy = 0;
222  Double_t max_energy = 0;
223  Int_t max_energy_idx = 0;
224 
225  for(size_t iDigi=0; iDigi<list.size(); ++iDigi) {
226  Int_t idx = list[iDigi];
227  PndEmcDigi* thedigi = (PndEmcDigi*) fDigiArray->UncheckedAt(idx);
228 
229  total_energy += thedigi->GetEnergy();
230  if(thedigi->GetEnergy() > max_energy) {
231  max_energy = thedigi->GetEnergy();
232  max_energy_idx = idx;
233  }
234  }
235 
236  cluster->SetEnergy(total_energy);
237  cluster->SetTimeStamp(static_cast<PndEmcDigi*>(fDigiArray->UncheckedAt(max_energy_idx))->GetTimeStamp());
238 
239  //-------------------stop-------------------------------------------------------------
240 }
virtual Double_t GetEnergy() const
Definition: PndEmcDigi.cxx:296
represents the reconstructed hit of one emc crystal
Definition: PndEmcDigi.h:40
int idx[MAX]
Definition: autocutx.C:38
Double_t
void PndEmcMakeClusterOnline::FinishClusters ( )
protectedvirtual

Definition at line 199 of file PndEmcMakeClusterOnline.cxx.

References ctime, Double_t, fClusterArray, FinishCluster(), fTimer, fVerbose, i, and rtime.

Referenced by Exec().

199  {
200 
201  Int_t nCluster = fClusterArray->GetEntriesFast();
202  for (Int_t i=0; i<nCluster; i++) {
204  }
205 
206  if (fVerbose>2){
207  fTimer.Stop();
208  Double_t rtime = fTimer.RealTime();
209  Double_t ctime = fTimer.CpuTime();
210  fTimer.Reset();
211  cout << "PndEmcMakeClusterOnline, Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
212  }
213 }
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
Double_t
void FinishCluster(PndEmcCluster *tmpcluster)
a cluster (group of neighboring crystals) of hit emc crystals
Definition: PndEmcCluster.h:29
Double_t ctime
Definition: hit_dirc.C:114
TClonesArray * fClusterArray
active clusters
Double_t rtime
Definition: hit_dirc.C:113
void PndEmcMakeClusterOnline::FinishTask ( )
virtual

Definition at line 243 of file PndEmcMakeClusterOnline.cxx.

References digiCounter, evtCounter, and fVerbose.

243  {
244  if(fVerbose>2) {
245  std::cout << "Processed in total " << digiCounter << " digis within " << evtCounter << " events." << std::endl;
246  }
247 }
int fVerbose
Definition: poormantracks.C:24
static Int_t evtCounter
static Int_t digiCounter
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(), 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(), 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 PndEmcMakeClusterOnline::Init ( )
virtual

Virtual method Init

Definition at line 66 of file PndEmcMakeClusterOnline.cxx.

References fClusterActiveTime, fClusterArray, fDigiArray, fDigiEnergyTresholdBarrel, fDigiEnergyTresholdBWD, fDigiEnergyTresholdFWD, fDigiEnergyTresholdShashlyk, fDigiFunctor, fGeoPar, fRecoPar, fStoreClusterBase, PndEmcRecoPar::GetClusterActiveTime(), PndEmcRecoPar::GetEnergyThresholdBarrel(), PndEmcRecoPar::GetEnergyThresholdBWD(), PndEmcRecoPar::GetEnergyThresholdFWD(), PndEmcRecoPar::GetEnergyThresholdShashlyk(), PndPersistencyTask::GetPersistency(), PndEmcGeoPar::InitEmcMapper(), and PndEmcStructure::Instance().

66  {
67 
68  // Get RootManager
69  FairRootManager* ioman = FairRootManager::Instance();
70  if ( ! ioman )
71  {
72  cout << "-E- PndEmcMakeClusterOnline::Init: " << "RootManager not instantiated!" << endl;
73  return kFATAL;
74  }
75 
76  if(!FairRunAna::Instance()->IsTimeStamp()) {
77  cout << "-E- PndEmcMakeClusterOnline::Init: " << "This task can be activated only online" << endl;
78  return kFATAL;
79  }
80 
81  // Get input array
82  fDigiArray = (TClonesArray*) ioman->GetObject("EmcDigiSorted");
83  if (!fDigiArray) {
84  cout << "-W- PndEmcMakeClusterOnline::Init: " << "No PndEmcDigi array!" << endl;
85  return kERROR;
86  }
87 
88  // Create and register output array
89  fClusterArray = new TClonesArray("PndEmcCluster");
90  ioman->Register("EmcCluster","Emc", fClusterArray, GetPersistency());
91 
92  // for subsequent methods we need the "event grouping" as given by the TS buffer
93  // --> fDigiArray becomes an output array.
94  //
95  // can be removed once PndEmcCluster object has been rewritten
96  fDigiArray = new TClonesArray(fDigiArray->GetClass()); //still needed to activate array
97  ioman->Register("EmcDigiClusterBase", "Emc", fDigiArray, fStoreClusterBase);
98 
99  // searching for time gaps in digi stream
100  fDigiFunctor = new TimeGap();
101 
104 
105  // get some parameters from the parbase
110 
111  //convert from seconds to nanoseconds...in parfile everything is seconds...here we need nanoseconds
113 
114  cout << "-I- PndEmcMakeClusterOnline: Intialization successfull" << endl;
115  return kSUCCESS;
116 }
Double_t GetEnergyThresholdBarrel()
Definition: PndEmcRecoPar.h:15
void InitEmcMapper()
Double_t GetClusterActiveTime()
Definition: PndEmcRecoPar.h:19
Double_t GetEnergyThresholdFWD()
Definition: PndEmcRecoPar.h:16
TClonesArray * fClusterArray
active clusters
Double_t GetEnergyThresholdShashlyk()
Definition: PndEmcRecoPar.h:18
Double_t fClusterActiveTime
Defines how long clusters are kept open in timebased reconstruction.
static PndEmcStructure * Instance()
Double_t GetEnergyThresholdBWD()
Definition: PndEmcRecoPar.h:17
PndEmcMakeClusterOnline& PndEmcMakeClusterOnline::operator= ( const PndEmcMakeClusterOnline )
inlineprivate

Definition at line 82 of file PndEmcMakeClusterOnline.h.

82 {return *this;};
void PndEmcMakeClusterOnline::SetClusterActiveTime ( Double_t  time)
inline

Override EmcRecoPar cluster active time parameter ..to be set in ns!!!

Definition at line 51 of file PndEmcMakeClusterOnline.h.

References fClusterActiveTime.

51 { fClusterActiveTime = time; }
Double_t fClusterActiveTime
Defines how long clusters are kept open in timebased reconstruction.
void PndEmcMakeClusterOnline::SetParContainers ( )
privatevirtual

Get parameter containers

Definition at line 249 of file PndEmcMakeClusterOnline.cxx.

References fGeoPar, fRecoPar, and run.

249  {
250 
251  // Get run and runtime database
252  FairRun* run = FairRun::Instance();
253  if ( ! run ) Fatal("SetParContainers", "No analysis run");
254 
255  FairRuntimeDb* db = run->GetRuntimeDb();
256  if ( ! db ) Fatal("SetParContainers", "No runtime database");
257 
258  // Get Emc geometry parameter container
259  fGeoPar = (PndEmcGeoPar*) db->getContainer("PndEmcGeoPar");
260 
261  // Get Emc reconstruction parameter container
262  fRecoPar = (PndEmcRecoPar*) db->getContainer("PndEmcRecoPar");
263 }
Int_t run
Definition: autocutx.C:47
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(), 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::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(), 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
void PndEmcMakeClusterOnline::SetStorageOfData ( Bool_t  val)

Method to specify whether clusters are stored or not.

Definition at line 266 of file PndEmcMakeClusterOnline.cxx.

References PndPersistencyTask::SetPersistency().

266  {
268  return;
269 }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void SetPersistency(Bool_t val=kTRUE)
void PndEmcMakeClusterOnline::StoreClusterBaseDigis ( Bool_t  val = kTRUE)
inline

Restoring digis makes only sense if reconstruction is done timebased.

Definition at line 48 of file PndEmcMakeClusterOnline.h.

References fStoreClusterBase, and val.

Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11

Member Data Documentation

Double_t PndEmcMakeClusterOnline::fClusterActiveTime
private

Defines how long clusters are kept open in timebased reconstruction.

Definition at line 73 of file PndEmcMakeClusterOnline.h.

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

TClonesArray* PndEmcMakeClusterOnline::fClusterArray
private

active clusters

Output array of PndEmcClusters

Definition at line 63 of file PndEmcMakeClusterOnline.h.

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

TClonesArray* PndEmcMakeClusterOnline::fDigiArray
private

Input array of CbmDigis

Definition at line 60 of file PndEmcMakeClusterOnline.h.

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

Double_t PndEmcMakeClusterOnline::fDigiEnergyTresholdBarrel
private

Reconstruction parameter container

Definition at line 68 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeClusterOnline::fDigiEnergyTresholdBWD
private

Definition at line 70 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeClusterOnline::fDigiEnergyTresholdFWD
private

Definition at line 69 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeClusterOnline::fDigiEnergyTresholdShashlyk
private

Definition at line 71 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and Init().

BinaryFunctor* PndEmcMakeClusterOnline::fDigiFunctor
private

Definition at line 74 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and Init().

PndEmcGeoPar* PndEmcMakeClusterOnline::fGeoPar
private

Definition at line 65 of file PndEmcMakeClusterOnline.h.

Referenced by Init(), and SetParContainers().

PndEmcRecoPar* PndEmcMakeClusterOnline::fRecoPar
private

Geometry parameter container

Definition at line 66 of file PndEmcMakeClusterOnline.h.

Referenced by Init(), and SetParContainers().

Bool_t PndEmcMakeClusterOnline::fStoreClusterBase
private

Definition at line 76 of file PndEmcMakeClusterOnline.h.

Referenced by Init(), and StoreClusterBaseDigis().

TStopwatch PndEmcMakeClusterOnline::fTimer
private

Definition at line 82 of file PndEmcMakeClusterOnline.h.

Referenced by Exec(), and FinishClusters().


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