FairRoot/PandaRoot
|
splits clusters on the basis of exponential distance from the bump centroid More...
#include <PndEmcExpClusterSplitter.h>
Public Member Functions | |
PndEmcExpClusterSplitter (Int_t verbose=0) | |
virtual | ~PndEmcExpClusterSplitter () |
virtual InitStatus | Init () |
Init Task. More... | |
virtual void | Exec (Option_t *opt) |
Runs the task. More... | |
virtual void | FinishTask () |
Called at end of task. More... | |
void | SetStorageOfData (Bool_t p=kTRUE) |
PndEmcBump * | AddBump () |
Adds a new PndEmcBump to fBumpArray and returns it. More... | |
PndEmcSharedDigi * | AddSharedDigi (PndEmcDigi *, Double_t weight) |
Adds a new PndEmcSharedDigi to fSharedDigiArray and returns it. More... | |
void | SetPersistency (Bool_t val=kTRUE) |
Bool_t | GetPersistency () |
Protected Member Functions | |
virtual void | SetParContainers () |
Private Member Functions | |
PndEmcExpClusterSplitter (const PndEmcExpClusterSplitter &) | |
PndEmcExpClusterSplitter & | operator= (const PndEmcExpClusterSplitter &) |
ClassDef (PndEmcExpClusterSplitter, 2) | |
Private Attributes | |
TClonesArray * | fDigiArray |
TClonesArray * | fClusterArray |
TClonesArray * | fBumpArray |
TClonesArray * | fSharedDigiArray |
PndEmcGeoPar * | fGeoPar |
Geometry parameter container. More... | |
PndEmcDigiPar * | fDigiPar |
Digitisation parameter container. More... | |
PndEmcRecoPar * | fRecoPar |
Reconstruction parameter container. More... | |
std::vector< Double_t > | fClusterPosParam |
Double_t | fMoliereRadius |
Double_t | fMoliereRadiusShashlyk |
Double_t | fExponentialConstant |
Int_t | fMaxIterations |
Double_t | fCentroidShift |
Int_t | fMaxBumps |
Double_t | fMinDigiEnergy |
PndEmcDigiCalibrator | digiCalibrator |
Int_t | HowManyDidis |
splits clusters on the basis of exponential distance from the bump centroid
Definition at line 57 of file PndEmcExpClusterSplitter.h.
PndEmcExpClusterSplitter::PndEmcExpClusterSplitter | ( | Int_t | verbose = 0 | ) |
Definition at line 71 of file PndEmcExpClusterSplitter.cxx.
References fClusterPosParam, and PndPersistencyTask::SetPersistency().
|
virtual |
Definition at line 82 of file PndEmcExpClusterSplitter.cxx.
|
private |
PndEmcBump * PndEmcExpClusterSplitter::AddBump | ( | ) |
Adds a new PndEmcBump to fBumpArray and returns it.
Definition at line 566 of file PndEmcExpClusterSplitter.cxx.
References fBumpArray.
Referenced by Exec().
PndEmcSharedDigi * PndEmcExpClusterSplitter::AddSharedDigi | ( | PndEmcDigi * | digi, |
Double_t | weight | ||
) |
Adds a new PndEmcSharedDigi to fSharedDigiArray and returns it.
digi | Digi which is shared |
weight | Weight of digi in this shared digi |
Definition at line 580 of file PndEmcExpClusterSplitter.cxx.
References fSharedDigiArray.
Referenced by Exec().
|
private |
|
virtual |
Runs the task.
The algorithm is as follows: We will index each bump by its maximum digi's PndEmcTwoCoordIndex. We will set up a list of bump centroids which to start with will be synonymous with the location of the maxima. We then apportion a weight to each digi, according to its distance from the centroids. We then construct the bumps according to these weights, which will presumably give a different set of centroids. This is repeated until the centroids are static within tolerance, or we reach the maximum number of iterations.
opt | unused |
Definition at line 189 of file PndEmcExpClusterSplitter.cxx.
References PndEmcXClMoments::AbsZernikeMoment(), AddBump(), PndEmcCluster::addDigi(), AddSharedDigi(), PndEmcDigiCalibrator::CalibrationEvtTimeByDigi(), digiCalibrator, PndEmcCluster::DigiList(), Double_t, PndEmcClusterProperties::Energy(), exp(), fBumpArray, fCentroidShift, fClusterArray, fClusterPosParam, fDigiArray, PndEmcDigi::fEvtNo, fExponentialConstant, fMaxBumps, fMinDigiEnergy, fMoliereRadius, fMoliereRadiusShashlyk, fRecoPar, fSharedDigiArray, fVerbose, PndEmcRecoPar::GetEmcClusterPosMethod(), PndEmcSharedDigi::GetEnergy(), PndEmcDigi::GetEnergy(), PndEmcDigi::GetModule(), PndEmcMapper::GetTCI(), PndEmcDigi::GetTCI(), PndEmcDigiCalibrator::GetTimeResolutionOfDigi(), PndEmcCluster::GetTrackEntering(), HowManyDidis, i, PndEmcTwoCoordIndex::Index(), PndEmcMapper::Instance(), PndEmcCluster::IsEnergyValid(), PndEmcCluster::IsPositionValid(), PndEmcXClMoments::Lat(), PndEmcCluster::LocalMaxMap(), PndEmcBump::MadeFrom(), map, PndEmcCluster::MemberDigiMap(), PndEmcCluster::NumberOfDigis(), PndEmcCluster::SetEnergy(), PndEmcBump::SetEventNo(), PndEmcCluster::SetLatMom(), PndEmcCluster::SetNBumps(), PndEmcCluster::SetPosition(), PndEmcCluster::SetZ20(), PndEmcCluster::SetZ53(), PndEmcClusterProperties::Where(), PndEmcDigi::where(), PndEmcTwoCoordIndex::XCoord(), and PndEmcTwoCoordIndex::YCoord().
|
virtual |
Called at end of task.
Outputs the number of digis read.
Definition at line 593 of file PndEmcExpClusterSplitter.cxx.
References HowManyDidis.
|
inlineinherited |
Definition at line 32 of file PndPersistencyTask.h.
References PndPersistencyTask::fPersistency.
Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::Init(), PndDiscTaskReconstruction::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(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndDrcTimeDigiTask::Init(), PndRecoKalmanTask2::Init(), 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().
|
virtual |
Init Task.
kSUCCESS | success |
Definition at line 95 of file PndEmcExpClusterSplitter.cxx.
References fBumpArray, fCentroidShift, fClusterArray, fClusterPosParam, fDigiArray, fExponentialConstant, fGeoPar, fMaxBumps, fMaxIterations, fMinDigiEnergy, fMoliereRadius, fMoliereRadiusShashlyk, fRecoPar, fSharedDigiArray, PndEmcRecoPar::GetCentroidShift(), PndEmcRecoPar::GetEmcClusterPosMethod(), PndEmcRecoPar::GetExponentialConstant(), PndEmcRecoPar::GetMaxBumps(), PndEmcRecoPar::GetMaxIterations(), PndEmcRecoPar::GetMinDigiEnergy(), PndEmcRecoPar::GetMoliereRadius(), PndEmcRecoPar::GetMoliereRadiusShashlyk(), PndEmcRecoPar::GetOffsetParmA(), PndEmcRecoPar::GetOffsetParmB(), PndEmcRecoPar::GetOffsetParmC(), PndPersistencyTask::GetPersistency(), HowManyDidis, PndEmcGeoPar::InitEmcMapper(), and PndEmcStructure::Instance().
|
private |
|
protectedvirtual |
Get parameter containers
Definition at line 601 of file PndEmcExpClusterSplitter.cxx.
References fDigiPar, fGeoPar, fRecoPar, and run.
|
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(), 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::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(), SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().
|
inline |
Definition at line 70 of file PndEmcExpClusterSplitter.h.
References p, and PndPersistencyTask::SetPersistency().
Referenced by digi_sttcombi().
|
private |
Definition at line 111 of file PndEmcExpClusterSplitter.h.
Referenced by Exec().
|
private |
Output array of PndEmcBumps
Definition at line 89 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 103 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 86 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 96 of file PndEmcExpClusterSplitter.h.
Referenced by Exec(), Init(), and PndEmcExpClusterSplitter().
|
private |
Input array of PndEmcClusters
Definition at line 85 of file PndEmcExpClusterSplitter.h.
|
private |
Digitisation parameter container.
Definition at line 93 of file PndEmcExpClusterSplitter.h.
Referenced by SetParContainers().
|
private |
Definition at line 101 of file PndEmcExpClusterSplitter.h.
|
private |
Geometry parameter container.
Definition at line 92 of file PndEmcExpClusterSplitter.h.
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 104 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 102 of file PndEmcExpClusterSplitter.h.
Referenced by Init().
|
private |
Definition at line 105 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 99 of file PndEmcExpClusterSplitter.h.
|
private |
Definition at line 100 of file PndEmcExpClusterSplitter.h.
|
private |
Reconstruction parameter container.
Definition at line 94 of file PndEmcExpClusterSplitter.h.
Referenced by Exec(), Init(), and SetParContainers().
|
private |
Definition at line 90 of file PndEmcExpClusterSplitter.h.
Referenced by AddSharedDigi(), Exec(), and Init().
|
private |
Definition at line 112 of file PndEmcExpClusterSplitter.h.
Referenced by Exec(), FinishTask(), and Init().