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

Task to create PndEmcDigi from PndEmcHit. More...

#include <PndEmcMakeDigi.h>

Inheritance diagram for PndEmcMakeDigi:
PndPersistencyTask

Public Member Functions

 PndEmcMakeDigi (Bool_t storedigis=kTRUE)
 
virtual ~PndEmcMakeDigi ()
 
virtual InitStatus Init ()
 Init Task. More...
 
virtual void Exec (Option_t *opt)
 Runs the task. More...
 
void SetDigiPosMethod (const std::string &digiPosMethod)
 
const std::string & GetDigiPosMethod () const
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

PndEmcDigiAddDigi (Int_t trackID, Int_t detID, Float_t energy, Float_t time, Int_t hitIndex)
 Adds a PndEmcDigi to to fDigiArray and returns it. More...
 
void SetStorageOfData (Bool_t val)
 Method to specify whether digis are stored or not. More...
 
virtual void SetParContainers ()
 

Private Member Functions

 PndEmcMakeDigi (const PndEmcMakeDigi &)
 
PndEmcMakeDigioperator= (const PndEmcMakeDigi &)
 
 ClassDef (PndEmcMakeDigi, 1)
 

Private Attributes

TClonesArray * fHitArray
 
TClonesArray * fDigiArray
 
Double_t fThreshold
 
std::string fDigiPosMethod
 
Double_t fEmcDigiRescaleFactor
 
Double_t fEmcDigiPositionDepthPWO
 
Double_t fEmcDigiPositionDepthShashlyk
 
Int_t fUseDigiEffectiveSmearing
 
Double_t fDetectedPhotonsPerMeV
 
Double_t fNPhotoElectronsPerMeVAPDBarrel
 
Double_t fNPhotoElectronsPerMeVAPDBWD
 
Double_t fNPhotoElectronsPerMeVVPT
 
Double_t fSensitiveAreaAPD
 
Double_t fSensitiveAreaVPT
 
Double_t fQuantumEfficiencyAPD
 
Double_t fQuantumEfficiencyVPT
 
Double_t fExcessNoiseFactorAPD
 
Double_t fExcessNoiseFactorVPT
 
Double_t fIncoherent_elec_noise_width_GeV_APD
 
Double_t fIncoherent_elec_noise_width_GeV_VPT
 
Int_t fMapVersion
 
PndEmcGeoParfGeoPar
 Geometry parameter container. More...
 
PndEmcDigiParfDigiPar
 Digitisation parameter container. More...
 
PndEmcRecoParfRecoPar
 Reconstruction parameter container. More...
 

Detailed Description

Task to create PndEmcDigi from PndEmcHit.

This task creates digis directly from hits, bypassing the creation and analysis of waveforms.

Definition at line 37 of file PndEmcMakeDigi.h.

Constructor & Destructor Documentation

PndEmcMakeDigi::PndEmcMakeDigi ( Bool_t  storedigis = kTRUE)

Definition at line 35 of file PndEmcMakeDigi.cxx.

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

35  :
37 {
38  fDigiPosMethod="depth";// "surface" or "depth"
40  SetPersistency(storedigis);
41 }
PndEmcRecoPar * fRecoPar
Reconstruction parameter container.
Double_t fThreshold
Double_t fSensitiveAreaAPD
Double_t fEmcDigiPositionDepthShashlyk
Double_t fExcessNoiseFactorVPT
void SetPersistency(Bool_t val=kTRUE)
Double_t fNPhotoElectronsPerMeVAPDBWD
Double_t fQuantumEfficiencyAPD
Double_t fEmcDigiRescaleFactor
PndEmcDigiPar * fDigiPar
Digitisation parameter container.
TClonesArray * fDigiArray
Double_t fIncoherent_elec_noise_width_GeV_APD
std::string fDigiPosMethod
PndEmcGeoPar * fGeoPar
Geometry parameter container.
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
Double_t fIncoherent_elec_noise_width_GeV_VPT
Double_t fDetectedPhotonsPerMeV
Double_t fSensitiveAreaVPT
Double_t fNPhotoElectronsPerMeVAPDBarrel
Double_t fQuantumEfficiencyVPT
TClonesArray * fHitArray
Double_t fEmcDigiPositionDepthPWO
Int_t fUseDigiEffectiveSmearing
Double_t fExcessNoiseFactorAPD
Double_t fNPhotoElectronsPerMeVVPT
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12
PndEmcMakeDigi::~PndEmcMakeDigi ( )
virtual

Definition at line 46 of file PndEmcMakeDigi.cxx.

47 {
48 }
PndEmcMakeDigi::PndEmcMakeDigi ( const PndEmcMakeDigi )
private

Member Function Documentation

PndEmcDigi * PndEmcMakeDigi::AddDigi ( Int_t  trackID,
Int_t  detID,
Float_t  energy,
Float_t  time,
Int_t  hitIndex 
)
protected

Adds a PndEmcDigi to to fDigiArray and returns it.

Parameters
trackIDID of track which created the digi
detIDDetector ID for digi (c.f. PndEmcMapper)
energyDeposited energy (including noise)
timeTimestamp of the hit
hitIndexIndex of the hit in the TClonesArray
Returns
PndEmcDigi*

Definition at line 227 of file PndEmcMakeDigi.cxx.

References fDigiArray.

Referenced by Exec().

228 {
229  TClonesArray& clref = *fDigiArray;
230  Int_t size = clref.GetEntriesFast();
231  PndEmcDigi* newDigi = new(clref[size]) PndEmcDigi(trackID, detID, energy, time, hitIndex);
232  newDigi->SetTimeStamp(FairRootManager::Instance()->GetEventTime() + time*1.e9);
233  return newDigi;
234 }
represents the reconstructed hit of one emc crystal
Definition: PndEmcDigi.h:40
TClonesArray * fDigiArray
Double_t energy
Definition: plot_dirc.C:15
PndEmcMakeDigi::ClassDef ( PndEmcMakeDigi  ,
 
)
private
void PndEmcMakeDigi::Exec ( Option_t *  opt)
virtual

Runs the task.

Creates digis from the hits and adds noise.

Parameters
optunused
Returns
void

Definition at line 141 of file PndEmcMakeDigi.cxx.

References a, AddDigi(), Double_t, energy, fDetectedPhotonsPerMeV, fDigiArray, fExcessNoiseFactorAPD, fExcessNoiseFactorVPT, fHitArray, fIncoherent_elec_noise_width_GeV_APD, fIncoherent_elec_noise_width_GeV_VPT, fNPhotoElectronsPerMeVAPDBarrel, fNPhotoElectronsPerMeVAPDBWD, fNPhotoElectronsPerMeVVPT, fThreshold, fUseDigiEffectiveSmearing, PndEmcHit::GetCrystal(), PndEmcHit::GetEnergy(), PndEmcHit::GetModule(), PndEmcHit::GetRow(), PndEmcHit::GetTime(), nHits, and sqrt().

142 {
143  // Reset output array
144  if ( ! fDigiArray ) Fatal("Exec", "No Digi Array");
145  fDigiArray->Delete();
146 
147  // Variable declaration
148  PndEmcHit* theHit = NULL;
149 
150  // Loop over PndEmcHits to add them to correspondent wavefoorms
151  Int_t nHits = fHitArray->GetEntriesFast();
152 
153  //cout<<"Hit array contains "<<nHits<< " hits"<<endl;
154  for (Int_t iHit=0; iHit<nHits; iHit++) {
155  theHit = (PndEmcHit*) fHitArray->At(iHit);
156  int detId=theHit->GetDetectorID();
157  Double_t energy=theHit->GetEnergy();
158 
159  Int_t trackId=theHit->GetRefIndex();
160  Double_t time=theHit->GetTime();
161 
162  // Smear hit energy as sigma/E=sqrt((a/sqrt(E))^2+(E_noise/E)^2)
163  // i.e stochastic and noise term of energy resolution are taken into account
165  int module = theHit->GetModule();
166  Double_t a,sigma_E;
167  switch (module){
168  case 1: // Barrel
169  a=sqrt(fExcessNoiseFactorAPD/(fNPhotoElectronsPerMeVAPDBarrel*1e3)); // 1e3 is conversion from MeV to GeV
170  sigma_E=sqrt(pow(a/sqrt(energy),2)+pow(fIncoherent_elec_noise_width_GeV_APD/energy,2));
171  break;
172  case 2: // Barrel
173  a=sqrt(fExcessNoiseFactorAPD/(fNPhotoElectronsPerMeVAPDBarrel*1e3)); // 1e3 is conversion from MeV to GeV
174  sigma_E=sqrt(pow(a/sqrt(energy),2)+pow(fIncoherent_elec_noise_width_GeV_APD/energy,2));
175  break;
176  case 7: // Proto60
177  a=sqrt(fExcessNoiseFactorAPD/(fNPhotoElectronsPerMeVAPDBarrel*1e3)); // 1e3 is conversion from MeV to GeV
178  sigma_E=sqrt(pow(a/sqrt(energy),2)+pow(fIncoherent_elec_noise_width_GeV_APD/energy,2));
179 
180  break;
181  case 3: // FWD endcap
182  a=sqrt(fExcessNoiseFactorVPT/(fNPhotoElectronsPerMeVVPT*1e3)); // 1e3 is conversion from MeV to GeV
183  sigma_E=sqrt(pow(a/sqrt(energy),2)+pow(fIncoherent_elec_noise_width_GeV_VPT/energy,2));
184  break;
185  case 4: // BWD endcap
186  a=sqrt(fExcessNoiseFactorAPD/(fNPhotoElectronsPerMeVAPDBWD*1e3)); // 1e3 is conversion from MeV to GeV
187  sigma_E=sqrt(pow(a/sqrt(energy),2)+pow(fIncoherent_elec_noise_width_GeV_APD/energy,2));
188  break;
189  case 5: // shashlyk
190  // sigma/E=5.6/E+2.4/sqrt(E)+1.3 (%)
191  sigma_E=sqrt(pow(0.056/energy,2)+pow(0.024/sqrt(energy),2)+0.013);
192  break;
193  default:
194  std::cout<<"PndEmcMakeDigi::Exec - Unknown module number in EMC digitization"<<std::endl;
195  abort();
196  }
197 
198  energy= gRandom->Gaus(energy,sigma_E*energy);
199  }
201  Double_t nPhotons=(energy*1e3*fDetectedPhotonsPerMeV);
202  if(theHit->GetModule()==7&&theHit->GetRow()==4&&theHit->GetCrystal()==5){
203  energy= gRandom->Gaus(0,fIncoherent_elec_noise_width_GeV_VPT)+(gRandom->PoissonD(nPhotons)/1.0e3)/fDetectedPhotonsPerMeV;
204  }else{
205  energy= gRandom->Gaus(0,fIncoherent_elec_noise_width_GeV_APD)+(gRandom->PoissonD(nPhotons)/1.0e3)/fDetectedPhotonsPerMeV;
206  }
207  }
208 
209  if (energy>fThreshold&& detId>0)
210  {
211  AddDigi(trackId,detId, energy, time,iHit);
212  }
213  }
214 
215 }
Double_t fThreshold
Short_t GetCrystal() const
Definition: PndEmcHit.h:60
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
Double_t fExcessNoiseFactorVPT
Double_t fNPhotoElectronsPerMeVAPDBWD
TClonesArray * fDigiArray
Double_t fIncoherent_elec_noise_width_GeV_APD
Int_t a
Definition: anaLmdDigi.C:126
int nHits
Definition: RiemannTest.C:16
Double_t
virtual Double_t GetEnergy() const
Definition: PndEmcHit.h:54
Double_t fIncoherent_elec_noise_width_GeV_VPT
Double_t fDetectedPhotonsPerMeV
Double_t fNPhotoElectronsPerMeVAPDBarrel
virtual Double_t GetTime() const
Definition: PndEmcHit.h:55
represents the deposited energy of one emc crystal from simulation
Definition: PndEmcHit.h:26
Short_t GetRow() const
Definition: PndEmcHit.h:59
TClonesArray * fHitArray
Int_t fUseDigiEffectiveSmearing
Double_t fExcessNoiseFactorAPD
Short_t GetModule() const
Definition: PndEmcHit.h:58
Double_t fNPhotoElectronsPerMeVVPT
PndEmcDigi * AddDigi(Int_t trackID, Int_t detID, Float_t energy, Float_t time, Int_t hitIndex)
Adds a PndEmcDigi to to fDigiArray and returns it.
Double_t energy
Definition: plot_dirc.C:15
const std::string & PndEmcMakeDigi::GetDigiPosMethod ( ) const

Definition at line 266 of file PndEmcMakeDigi.cxx.

References fDigiPosMethod.

267 {
268  return fDigiPosMethod;
269 }
std::string fDigiPosMethod
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(), 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 PndEmcMakeDigi::Init ( )
virtual

Init Task.

Prepares the TClonesArray of PndEmcHit for reading and PndEmcDigi for writing. Also reads the paramters for the EMC.

Returns
InitStatus
Return values
kSUCCESSsuccess

Definition at line 60 of file PndEmcMakeDigi.cxx.

References PndEmcDigi::depth, fDetectedPhotonsPerMeV, fDigiArray, fDigiPar, fDigiPosMethod, fEmcDigiPositionDepthPWO, fEmcDigiPositionDepthShashlyk, fEmcDigiRescaleFactor, fExcessNoiseFactorAPD, fExcessNoiseFactorVPT, fGeoPar, fHitArray, fIncoherent_elec_noise_width_GeV_APD, fIncoherent_elec_noise_width_GeV_VPT, fNPhotoElectronsPerMeVAPDBarrel, fNPhotoElectronsPerMeVAPDBWD, fNPhotoElectronsPerMeVVPT, fQuantumEfficiencyAPD, fQuantumEfficiencyVPT, fRecoPar, fSensitiveAreaAPD, fSensitiveAreaVPT, fThreshold, fUseDigiEffectiveSmearing, PndEmcDigiPar::GetDetectedPhotonsPerMeV(), PndEmcRecoPar::GetEmcDigiPositionDepthPWO(), PndEmcRecoPar::GetEmcDigiPositionDepthShashlyk(), PndEmcDigiPar::GetEnergyDigiThreshold(), PndEmcDigiPar::GetExcessNoiseFactorAPD(), PndEmcDigiPar::GetExcessNoiseFactorVPT(), PndEmcDigiPar::GetIncoherent_elec_noise_width_GeV_APD(), PndEmcDigiPar::GetIncoherent_elec_noise_width_GeV_VPT(), PndPersistencyTask::GetPersistency(), PndEmcDigiPar::GetQuantumEfficiencyAPD(), PndEmcDigiPar::GetQuantumEfficiencyVPT(), PndEmcDigiPar::GetSensitiveAreaAPD(), PndEmcDigiPar::GetSensitiveAreaVPT(), PndEmcDigiPar::GetUseDigiEffectiveSmearing(), PndEmcGeoPar::InitEmcMapper(), PndEmcStructure::Instance(), PndEmcDigi::selectDigiPositionMethod(), and PndEmcDigi::surface.

61 {
62  // Get RootManager
63  FairRootManager* ioman = FairRootManager::Instance();
64  if ( ! ioman )
65  {
66  cout << "-E- PndEmcMakeDigi::Init: "
67  << "RootManager not instantiated!" << endl;
68  return kFATAL;
69  }
70 
71  // Get input array
72  fHitArray =dynamic_cast<TClonesArray *> (ioman->GetObject("EmcHit"));
73  if ( ! fHitArray ) {
74  cout << "-W- PndEmcMakeDigi::Init: "
75  << "No EmcHit array!" << endl;
76  return kERROR;
77  }
78 
79  // Create and register output array
80 /* fDigiArray = new TClonesArray("PndEmcDigi");
81  ioman->Register("EmcDigi","Emc",fDigiArray,fStoreDigis);*/
82  fDigiArray = ioman->Register("EmcDigi", "PndEmcDigi", "Emc", GetPersistency());
83 
86  if (!fDigiPosMethod.compare("surface"))
87  {
89  }
90  else if (!fDigiPosMethod.compare("depth"))
91  {
94  }
95  else
96  {
97  cout << "-W- PndEmcMakeDigi::Init: "
98  << "Unknown digi position method!" << endl;
99  return kERROR;
100  }
101 
102  // The following parameters define if energy of hit will be copied to digi or it will be smeared
113 
117 
118 
119  // Calculate number of photoelectrons for APD and VPT
120  // The number fDetectedPhotonsPerMeV is the measured number of photoelectrons with PM covering the whole rear surface divided by quantum efficiency of PM (18%)
121  // To estimate Number of photoelectrons in barrel the rare surface is taken equal for all the crystals 745 mm^2, which is average surface, hovewer it varies depending on the type of the crystal
122  // For forward and backward endcap rear surface is equal 26x26=676 mm^2
123  // Therefore the different number of photoelectrons are used with APD for barrel and backward endcap
127 
128  cout << "-I- PndEmcMakeDigi: Intialization successfull" << endl;
129 
130  return kSUCCESS;
131 }
PndEmcRecoPar * fRecoPar
Reconstruction parameter container.
Double_t fThreshold
Double_t GetQuantumEfficiencyVPT()
Definition: PndEmcDigiPar.h:21
Double_t GetEmcDigiPositionDepthShashlyk()
Definition: PndEmcRecoPar.h:25
static void selectDigiPositionMethod(PositionMethod, double positionDepthPWO=0., double positionDepthShahslyk=0., double rescaleFactor=1.)
Definition: PndEmcDigi.cxx:153
Double_t GetIncoherent_elec_noise_width_GeV_VPT()
Definition: PndEmcDigiPar.h:27
Double_t fSensitiveAreaAPD
Double_t fEmcDigiPositionDepthShashlyk
Double_t GetQuantumEfficiencyAPD()
Definition: PndEmcDigiPar.h:20
Double_t GetIncoherent_elec_noise_width_GeV_APD()
Definition: PndEmcDigiPar.h:26
Double_t fExcessNoiseFactorVPT
Int_t GetUseDigiEffectiveSmearing()
Definition: PndEmcDigiPar.h:49
Double_t fNPhotoElectronsPerMeVAPDBWD
Double_t fQuantumEfficiencyAPD
Double_t fEmcDigiRescaleFactor
PndEmcDigiPar * fDigiPar
Digitisation parameter container.
Double_t GetEnergyDigiThreshold()
Definition: PndEmcDigiPar.h:42
void InitEmcMapper()
TClonesArray * fDigiArray
Double_t fIncoherent_elec_noise_width_GeV_APD
Double_t GetSensitiveAreaAPD()
Definition: PndEmcDigiPar.h:18
std::string fDigiPosMethod
PndEmcGeoPar * fGeoPar
Geometry parameter container.
Double_t fIncoherent_elec_noise_width_GeV_VPT
Double_t fDetectedPhotonsPerMeV
Double_t fSensitiveAreaVPT
Double_t GetDetectedPhotonsPerMeV()
Definition: PndEmcDigiPar.h:16
Double_t fNPhotoElectronsPerMeVAPDBarrel
Double_t fQuantumEfficiencyVPT
Double_t GetExcessNoiseFactorVPT()
Definition: PndEmcDigiPar.h:24
Double_t GetExcessNoiseFactorAPD()
Definition: PndEmcDigiPar.h:23
TClonesArray * fHitArray
Double_t fEmcDigiPositionDepthPWO
Int_t fUseDigiEffectiveSmearing
static PndEmcStructure * Instance()
Double_t fExcessNoiseFactorAPD
Double_t fNPhotoElectronsPerMeVVPT
Double_t GetSensitiveAreaVPT()
Definition: PndEmcDigiPar.h:19
Double_t GetEmcDigiPositionDepthPWO()
Definition: PndEmcRecoPar.h:24
PndEmcMakeDigi& PndEmcMakeDigi::operator= ( const PndEmcMakeDigi )
private
void PndEmcMakeDigi::SetDigiPosMethod ( const std::string &  digiPosMethod)

Definition at line 262 of file PndEmcMakeDigi.cxx.

References fDigiPosMethod.

263 {
264  fDigiPosMethod = digiPosMethod;
265 }
std::string fDigiPosMethod
void PndEmcMakeDigi::SetParContainers ( )
protectedvirtual

Get parameter containers

Definition at line 236 of file PndEmcMakeDigi.cxx.

References fDigiPar, fGeoPar, fRecoPar, and run.

237 {
238  // Get run and runtime database
239  FairRun* run = FairRun::Instance();
240  if ( ! run ) Fatal("SetParContainers", "No analysis run");
241 
242  FairRuntimeDb* db = run->GetRuntimeDb();
243  if ( ! db ) Fatal("SetParContainers", "No runtime database");
244 
245  // Get Emc geometry parameter container
246  fGeoPar = (PndEmcGeoPar*) db->getContainer("PndEmcGeoPar");
247  // Get Emc digitisation parameter container
248  fDigiPar = (PndEmcDigiPar*) db->getContainer("PndEmcDigiPar");
249  // Get Emc reconstruction parameter container
250  fRecoPar = (PndEmcRecoPar*) db->getContainer("PndEmcRecoPar");
251 
252 }
PndEmcRecoPar * fRecoPar
Reconstruction parameter container.
Int_t run
Definition: autocutx.C:47
PndEmcDigiPar * fDigiPar
Digitisation parameter container.
PndEmcGeoPar * fGeoPar
Geometry parameter container.
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(), 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(), 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 PndEmcMakeDigi::SetStorageOfData ( Bool_t  val)
protected

Method to specify whether digis are stored or not.

Definition at line 254 of file PndEmcMakeDigi.cxx.

References PndPersistencyTask::SetPersistency().

255 {
257  return;
258 }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void SetPersistency(Bool_t val=kTRUE)

Member Data Documentation

Double_t PndEmcMakeDigi::fDetectedPhotonsPerMeV
private

Definition at line 77 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

TClonesArray* PndEmcMakeDigi::fDigiArray
private

output array of EmcDigis

Definition at line 67 of file PndEmcMakeDigi.h.

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

PndEmcDigiPar* PndEmcMakeDigi::fDigiPar
private

Digitisation parameter container.

Definition at line 93 of file PndEmcMakeDigi.h.

Referenced by Init(), and SetParContainers().

std::string PndEmcMakeDigi::fDigiPosMethod
private

Definition at line 71 of file PndEmcMakeDigi.h.

Referenced by GetDigiPosMethod(), Init(), PndEmcMakeDigi(), and SetDigiPosMethod().

Double_t PndEmcMakeDigi::fEmcDigiPositionDepthPWO
private

Definition at line 73 of file PndEmcMakeDigi.h.

Referenced by Init().

Double_t PndEmcMakeDigi::fEmcDigiPositionDepthShashlyk
private

Definition at line 74 of file PndEmcMakeDigi.h.

Referenced by Init().

Double_t PndEmcMakeDigi::fEmcDigiRescaleFactor
private

Definition at line 72 of file PndEmcMakeDigi.h.

Referenced by Init(), and PndEmcMakeDigi().

Double_t PndEmcMakeDigi::fExcessNoiseFactorAPD
private

Definition at line 85 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fExcessNoiseFactorVPT
private

Definition at line 86 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

PndEmcGeoPar* PndEmcMakeDigi::fGeoPar
private

Geometry parameter container.

Definition at line 92 of file PndEmcMakeDigi.h.

Referenced by Init(), and SetParContainers().

TClonesArray* PndEmcMakeDigi::fHitArray
private

Input array of EmcWaveforms

Definition at line 65 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fIncoherent_elec_noise_width_GeV_APD
private

Definition at line 87 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fIncoherent_elec_noise_width_GeV_VPT
private

Definition at line 88 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Int_t PndEmcMakeDigi::fMapVersion
private

Definition at line 90 of file PndEmcMakeDigi.h.

Double_t PndEmcMakeDigi::fNPhotoElectronsPerMeVAPDBarrel
private

Definition at line 78 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fNPhotoElectronsPerMeVAPDBWD
private

Definition at line 79 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fNPhotoElectronsPerMeVVPT
private

Definition at line 80 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Double_t PndEmcMakeDigi::fQuantumEfficiencyAPD
private

Definition at line 83 of file PndEmcMakeDigi.h.

Referenced by Init().

Double_t PndEmcMakeDigi::fQuantumEfficiencyVPT
private

Definition at line 84 of file PndEmcMakeDigi.h.

Referenced by Init().

PndEmcRecoPar* PndEmcMakeDigi::fRecoPar
private

Reconstruction parameter container.

Definition at line 94 of file PndEmcMakeDigi.h.

Referenced by Init(), and SetParContainers().

Double_t PndEmcMakeDigi::fSensitiveAreaAPD
private

Definition at line 81 of file PndEmcMakeDigi.h.

Referenced by Init().

Double_t PndEmcMakeDigi::fSensitiveAreaVPT
private

Definition at line 82 of file PndEmcMakeDigi.h.

Referenced by Init().

Double_t PndEmcMakeDigi::fThreshold
private

Definition at line 69 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().

Int_t PndEmcMakeDigi::fUseDigiEffectiveSmearing
private

Definition at line 76 of file PndEmcMakeDigi.h.

Referenced by Exec(), and Init().


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