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

#include <PndEmcMakeCorr.h>

Inheritance diagram for PndEmcMakeCorr:
PndPersistencyTask

Public Member Functions

 PndEmcMakeCorr (Int_t verbose=0, TString transportModel="TGeant3", TString clusterType="EmcBump")
 
virtual ~PndEmcMakeCorr ()
 
virtual InitStatus Init ()
 
Int_t FindTheBin (TH2 *lookup_table, Float_t value_x, Float_t value_y, Int_t &bin_x, Int_t &bin_y)
 
Double_t GetValueInZ (TH2 *lookup_table, Float_t value_x, Float_t value_y, Bool_t use_interpolation=kFALSE)
 
virtual void Exec (Option_t *opt)
 
void SetStorageOfData (Bool_t val)
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Public Attributes

TFile * f
 
TFile * f0
 
TFile * f1
 
TFile * f2
 
TFile * f3
 

Protected Attributes

Int_t fClusterIndex
 

Private Member Functions

virtual void SetParContainers ()
 
 PndEmcMakeCorr (const PndEmcMakeCorr &L)
 
PndEmcMakeCorroperator= (const PndEmcMakeCorr &)
 

Private Attributes

TClonesArray * fClusterArray
 
TClonesArray * fClusterArrayCorr
 
PndEmcDigiParfDigiPar
 
PndEmcRecoParfRecoPar
 
Int_t fVerbose
 
Bool_t fStoreClustersCorr
 
TString nameEn [4]
 
TString nameTh [4]
 
TH2F * hEn [4]
 
TH2F * hTh [4]
 
TString nameEn5 [4]
 
TString nameTh5 [4]
 
TH2F * hEn5 [4]
 
TH2F * hTh5 [4]
 
TString fModel
 
TString fClusterType
 
TString corrFileName [4]
 
TString fPartName [4]
 

Detailed Description

Definition at line 36 of file PndEmcMakeCorr.h.

Constructor & Destructor Documentation

PndEmcMakeCorr::PndEmcMakeCorr ( Int_t  verbose = 0,
TString  transportModel = "TGeant3",
TString  clusterType = "EmcBump" 
)

Definition at line 52 of file PndEmcMakeCorr.cxx.

References fClusterType.

52  :
53 f(new TFile()), f0(new TFile()), f1(new TFile()), f2(new TFile()), f3(new TFile()), fClusterIndex(-1), fClusterArray(0), fClusterArrayCorr(0), fDigiPar(new PndEmcDigiPar()), fRecoPar(new PndEmcRecoPar()), fVerbose(0), fStoreClustersCorr(kTRUE), fModel(transportModel), fClusterType(clusterType) // verbose //[R.K.03/2017] unused variable(s)
54 {
55  cout<<"PndEmcMakeCorr constructor: "<<fClusterType<<endl;
56 }
Bool_t fStoreClustersCorr
PndEmcRecoPar * fRecoPar
TClonesArray * fClusterArrayCorr
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
TString fClusterType
PndEmcDigiPar * fDigiPar
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12
TClonesArray * fClusterArray
PndEmcMakeCorr::~PndEmcMakeCorr ( )
virtual

Definition at line 61 of file PndEmcMakeCorr.cxx.

References f, f0, f1, f2, f3, fClusterArray, fClusterArrayCorr, fDigiPar, and fRecoPar.

62 {
63  delete fClusterArray;
64  delete fClusterArrayCorr;
65  delete fDigiPar;
66  delete fRecoPar;
67 
68  f->Close();
69  f0->Close();
70  f1->Close();
71  f2->Close();
72  f3->Close();
73  delete f;
74  delete f0;
75  delete f1;
76  delete f2;
77  delete f3;
78 }
PndEmcRecoPar * fRecoPar
TClonesArray * fClusterArrayCorr
PndEmcDigiPar * fDigiPar
TClonesArray * fClusterArray
PndEmcMakeCorr::PndEmcMakeCorr ( const PndEmcMakeCorr L)
private

Member Function Documentation

void PndEmcMakeCorr::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 229 of file PndEmcMakeCorr.cxx.

References Bool_t, Double_t, energy, PndEmcCluster::energy(), fClusterArray, fClusterArrayCorr, fClusterType, GetValueInZ(), hEn, hEn5, hTh, hTh5, i, PndEmcCluster::MemberDigiMap(), Pi, theta, and PndEmcCluster::where().

230 {
231  // Reset output array(s)
232  if ( ! fClusterArrayCorr ) Fatal("Exec", "No Corrected Cluster Array");
233  fClusterArrayCorr->Delete();
234 
235  // Variables for Energy & Theta Cluster's Corrections
236  Bool_t use_interpolation=kTRUE;
237  Double_t valzEn[4], valzTh[4], ThCorr[4], EnCorr[4];//ThCorrRad[4], //[R.K.03/2017] unused variable
238  //Int_t ndigi; //[R.K.03/2017] unused variable
239  //Int_t particle[5]; //[R.K. 01/2017] unused variable?
240  Int_t chosenModule =0;
241 
242  // Loop over Clusters to make the energy and theta correction
243  // by dividing and adding the GetMean() values from lookup table
244  Int_t clustLength = fClusterArray->GetEntriesFast();
245  //cout <<"clustLength " <<clustLength<<endl;
246 
247  for (Int_t iCluster=0; iCluster<clustLength; iCluster++)
248  {
249 
250  PndEmcCluster* theCluster;
251 
252  if (fClusterType.Contains("EmcCluster")) {
253 
254  //PndEmcCluster* theCluster;
255  theCluster = (PndEmcCluster*) fClusterArray->At(iCluster);
256  //cout<<"Cluster was taken from ---> "<<fClusterType<<endl;
257  //cout<<"theCluster ---> "<<theCluster->energy()<<endl;
258 
259  } else if (fClusterType.Contains("EmcBump")) {
260 
261  //PndEmcBump* theCluster;
262  theCluster = (PndEmcBump*) fClusterArray->At(iCluster);
263  //cout<<"Cluster was taken from ---> "<<fClusterType<<endl;
264  //cout<<"Bump ---> "<<theCluster->energy()<<endl;
265 
266  }else{
267  cout<<"None of the Cluster object is taken !!!"<<endl;
268  }
269 
270  // Check the ID of a crystal, get module number from it and put into a map
271  std::map<Int_t,Int_t> digiMap=theCluster->MemberDigiMap();
272  std::map<Int_t,Int_t>::iterator iter;
273  //ndigi=digiMap.size(); //[R.K.03/2017] unused variable
274 
275  Int_t ID, module;
276  std::map<int, int> counting;
277  std::map<int, int>::iterator iCounting;
278  Int_t oldCounting = 0;
279 
280  if(digiMap.size() != 0)
281  {
282  for(iter=digiMap.begin(); iter != digiMap.end(); ++iter)
283  {
284  ID = iter->first;
285  module = ID/100000000;
286  counting[module]++;
287  }
288  }
289 
290  // Get an EMC module in which most of the digits are
291  for(iCounting=counting.begin(); iCounting!=counting.end(); iCounting++)
292  {
293  if((*iCounting).second > oldCounting)
294  {
295  chosenModule = (*iCounting).first;
296  oldCounting = (*iCounting).second;
297  }
298  }
299 
300  Double_t energy=theCluster->energy();
301  TVector3 position=theCluster->where();
302  Double_t theta=position.Theta()*(180./TMath::Pi());
303 
304  //cout << " "<<endl;
305  //cout << "$$$$$ iCluster "<<iCluster<<endl;
306 
307  //Different types of particles: 1=gamma, 2=electron, 3=pion, 4=other
308  for (Int_t i=0; i<4; i++)
309  {
310  if (chosenModule==5){ // separate map for Shaslyk
311 
312  valzEn[i] = GetValueInZ( hEn5[i], energy, theta, use_interpolation);
313  valzTh[i] = GetValueInZ( hTh5[i], energy, theta, use_interpolation);
314 
315  ThCorr[i] = (valzTh[i]+theta);
316  //ThCorrRad[i] = ThCorr[i]*(TMath::Pi()/180.); // DegToRad //[R.K.03/2017] unused variable
317 
318  EnCorr[i] = energy/valzEn[i];
319 
320  /*cout << "*** EMC Module: "<< chosenModule
321  <<", Theta= "<<theta <<", valzTh= "<<valzTh[i] <<", ThCorr="<<ThCorr[i]
322  <<", Energy= "<<energy <<", valzEn= "<<valzEn[i] <<", EnCorr="<<EnCorr[i]<<endl;
323  */
324  }else{ // separate map for Target EMC
325  if (theta <6.) continue; // Avoid the edges for FwEndCap and Shashlyk
326 
327  valzTh[i] = GetValueInZ( hTh[i], energy, theta, use_interpolation);
328  valzEn[i] = GetValueInZ( hEn[i], energy, theta, use_interpolation);
329 
330  ThCorr[i] = (valzTh[i]+theta);
331  //ThCorrRad[i] = ThCorr[i]*(TMath::Pi()/180.); //[R.K.03/2017] unused variable
332 
333  EnCorr[i] = energy/valzEn[i];
334 
335  /*cout << "*** EMC Module: "<< chosenModule
336  <<", Theta= "<<theta <<", valzTh= "<<valzTh[i] <<", ThCorr="<<ThCorr[i]
337  <<", Energy= "<<energy <<", valzEn= "<<valzEn[i] <<", EnCorr="<<EnCorr[i] <<endl;
338  */
339  }
340  } // End of corrections for 4 different particles
341 
342  new((*fClusterArrayCorr)[iCluster]) PndEmcCorrection(chosenModule, EnCorr[0], EnCorr[1], EnCorr[2], EnCorr[3], ThCorr[0], ThCorr[1], ThCorr[2], ThCorr[3], valzEn[0], valzEn[1], valzEn[2], valzEn[3], valzTh[0], valzTh[1], valzTh[2], valzTh[3]);
343 
344  } // End of the loop over Clusters
345 }
TH2F * hEn5[4]
TVector3 where() const
Int_t i
Definition: run_full.C:25
TClonesArray * fClusterArrayCorr
Double_t GetValueInZ(TH2 *lookup_table, Float_t value_x, Float_t value_y, Bool_t use_interpolation=kFALSE)
Double_t
a cluster (group of neighboring crystals) of hit emc crystals
Definition: PndEmcCluster.h:29
const std::map< Int_t, Int_t > & MemberDigiMap() const
Definition: PndEmcCluster.h:43
TString fClusterType
virtual Double_t energy() const
Double_t Pi
represents a reconstructed (splitted) emc cluster
Definition: PndEmcBump.h:34
Double_t energy
Definition: plot_dirc.C:15
TClonesArray * fClusterArray
TH2F * hTh5[4]
Int_t PndEmcMakeCorr::FindTheBin ( TH2 *  lookup_table,
Float_t  value_x,
Float_t  value_y,
Int_t &  bin_x,
Int_t &  bin_y 
)

Definition at line 171 of file PndEmcMakeCorr.cxx.

Referenced by GetValueInZ().

172 {
173  bin_x = lookup_table->GetXaxis()->FindBin(value_x);
174  bin_y = lookup_table->GetYaxis()->FindBin(value_y);
175 
176  if ((bin_x < 1) || (bin_x > lookup_table->GetXaxis()->GetNbins()))
177  {
178  bin_x = -1; bin_y = -1;
179  return -1;
180  }
181 
182  if ((bin_y < 1) || (bin_y > lookup_table->GetYaxis()->GetNbins()))
183  {
184  bin_x = -1; bin_y = -1;
185  return -2;
186  }
187 
188  return 0; // Success
189 }
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(), 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(), Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndRecoMultiKalmanTask2::Init(), PndEmcHitProducer::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndRecoKalmanTask2::Init(), PndDrcTimeDigiTask::Init(), PndEmcExpClusterSplitter::Init(), PndFtsHoughTrackerTask::Init(), PndSdsNoiseProducer::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsIdealRecoTask::Init(), PndSdsHybridHitProducer::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndGemDigitize::Init(), PndSdsStripHitProducer::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; }
Double_t PndEmcMakeCorr::GetValueInZ ( TH2 *  lookup_table,
Float_t  value_x,
Float_t  value_y,
Bool_t  use_interpolation = kFALSE 
)

Definition at line 192 of file PndEmcMakeCorr.cxx.

References FindTheBin().

Referenced by Exec().

193 {
194  // We own the EmcLocMaxInfo objects. Delete from last time.
195  // Clean-up res, We need an empty set to store the results.
196 
197  if (use_interpolation)
198  {
199  //cout<<"use_interpolation = kTRUE "<<endl;
200  //
201  // Use the interpolarion routine of ROOT:
202  // Interpolate approximates the value via bilinear
203  // interpolation based on the four nearest bin centers
204  // see Wikipedia, Bilinear Interpolation
205  // Andy Mastbaum 10/8/2008
206  // vaguely based on R.Raja 6-Sep-2008
207  //
208  //cout<<"value_x = "<< value_x <<", value_y = "<<value_y <<endl;
209 
210  return (lookup_table->Interpolate(value_x,value_y));
211  }
212  else
213  {
214  //cout<<"use_interpolation = kFALSE "<<endl;
215  Int_t binx, biny, retval;
216 
217  retval = FindTheBin(lookup_table, value_x, value_y, binx, biny);
218  if (retval)
219  {
220  cout << "<E> Error in FindTheBin, check your table and input values!!!!: " << retval << endl;
221  return 0;
222  }
223 
224  return (lookup_table->GetBinContent(binx,biny));
225  }
226  return 0;
227 }
Int_t FindTheBin(TH2 *lookup_table, Float_t value_x, Float_t value_y, Int_t &bin_x, Int_t &bin_y)
InitStatus PndEmcMakeCorr::Init ( )
virtual

Virtual method Init

Definition at line 81 of file PndEmcMakeCorr.cxx.

References corrFileName, f, fClusterArray, fClusterArrayCorr, fClusterType, fModel, fPartName, PndPersistencyTask::GetPersistency(), hEn, hEn5, hTh, hTh5, i, nameEn, nameEn5, nameTh, nameTh5, and TString.

81  {
82 
83  // Get RootManager
84  FairRootManager* ioman = FairRootManager::Instance();
85  if ( ! ioman ){
86  cout << "-E- PndEmcMakeCorr::Init: "
87  << "RootManager not instantiated!" << endl;
88  return kFATAL;
89  }
90 
91  // Get input array - Clusters
92  fClusterArray = dynamic_cast<TClonesArray *> (ioman->GetObject(fClusterType));
93  cout<<""<<endl;
94  cout << "-------------> fClusterType is: ***** "<<fClusterType<<" *****"<<endl;
95  if ( ! fClusterArray ) {
96  cout << "-W- PndEmcMakeCorr::Init: "
97  << "No "<<fClusterType<<" array!"
98  << endl;
99  return kERROR;
100  }
101 
102  // Create and register output array
103  fClusterArrayCorr = new TClonesArray("PndEmcCorrection");
104 
105  TString corName;
106  corName = fClusterType+"Corr";
107  ioman->Register(corName,"Emc",fClusterArrayCorr,GetPersistency());
108 
109  // Read 2-dim histograms with shifts: GetMean()
110  // of reconstructed clusters compared to MC clusters
111  cout<<"Used transportModel is " <<fModel <<endl;//" & Particle " <<fPartId<<endl;
112 
113  TString work = getenv("VMCWORKDIR");
114  TString work1[4];
115  work += "/macro/params/";
116  cout<<"directory is:: "<<work<<endl;
117 
118  for (Int_t i=0; i<4; i++){
119  fPartName[0] = "gamma";
120  fPartName[1] = "electron";
121  fPartName[2] = "pion";
122  fPartName[3] = "other";
123 
124  corrFileName[i] = fPartName[i] + "_en_th_corr_"+ fModel+".root";
125  work1[i] += work + corrFileName[i];
126 
127  //cout<<" "<<endl;
128  //cout<<"name of "<< i <<" particle is: "<<fPartName[i]<<endl;
129  //cout<<" & path is: "<<work1[i]<<endl;
130  }
131  cout<<" "<<endl;
132  cout<<"== PLEASE CHECK if the correction map exists for an appropriate PARTICLE & TRANSPORT MODEL!!! "<<endl;
133  cout<<"============================================================================================= "<<endl;
134  cout<<""<<endl;
135 
136  for(int i=0; i< 4; i++){
137 
138  char buffer[10];
139  int myInteger = i;
140  sprintf(buffer, "%i", myInteger);
141 
142  f+=myInteger;
143  f= new TFile(work1[i],"READ");
144  cout<< "File "<<f->GetName() << " is read"<<endl;
145 
146  // *** GetMean() from: E_cluster/E_MC & Theta_MC-Theta_Cluster
147  //
148  // Target EMC
149  nameEn[i] = "hisEnergyDelta";
150  nameTh[i] = "hisThetaDiff";
151  hEn[i] = (TH2F*) f->Get(nameEn[i]);
152  hTh[i] = (TH2F*) f->Get(nameTh[i]);
153 
154  // Shashlyk
155  nameEn5[i] = "hisEnergy5Delta";
156  nameTh5[i] = "hisTheta5Diff";
157  hEn5[i] = (TH2F*) f->Get(nameEn5[i]);
158  hTh5[i] = (TH2F*) f->Get(nameTh5[i]);
159 
160  //cout<<"hists: Target EMC "<<hEn[i]->GetName()<<"\t"<<hTh[i]->GetName()<<endl;
161  //cout<<"hists: Shashlyk "<<hEn5[i]->GetName()<<"\t"<<hTh5[i]->GetName()<<endl;
162  }
163 
164  return kSUCCESS;
165 }
TH2F * hEn5[4]
Int_t i
Definition: run_full.C:25
TString fPartName[4]
TString nameTh5[4]
TClonesArray * fClusterArrayCorr
TString corrFileName[4]
TString nameEn5[4]
TString fClusterType
TString nameEn[4]
TString nameTh[4]
TClonesArray * fClusterArray
TH2F * hTh5[4]
PndEmcMakeCorr& PndEmcMakeCorr::operator= ( const PndEmcMakeCorr )
inlineprivate

Definition at line 103 of file PndEmcMakeCorr.h.

103 {return *this;};
void PndEmcMakeCorr::SetParContainers ( )
privatevirtual

Reconstruction parameter container Get parameter containers

Definition at line 347 of file PndEmcMakeCorr.cxx.

References fDigiPar, fRecoPar, and run.

347  {
348 
349  // Get run and runtime database
350  FairRun* run = FairRun::Instance();
351  if ( ! run ) Fatal("SetParContainers", "No analysis run");
352 
353  FairRuntimeDb* db = run->GetRuntimeDb();
354  if ( ! db ) Fatal("SetParContainers", "No runtime database");
355 
356  // Get Emc digitisation parameter container
357  fDigiPar = (PndEmcDigiPar*) db->getContainer("PndEmcDigiPar");
358 
359  // Get Emc reconstruction parameter container
360  fRecoPar = (PndEmcRecoPar*) db->getContainer("PndEmcRecoPar");
361 }
Int_t run
Definition: autocutx.C:47
PndEmcRecoPar * fRecoPar
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:12
PndEmcDigiPar * fDigiPar
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12
void PndPersistencyTask::SetPersistency ( Bool_t  val = kTRUE)
inlineinherited

Definition at line 31 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency, and val.

Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::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(), 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 PndEmcMakeCorr::SetStorageOfData ( Bool_t  val)

Definition at line 363 of file PndEmcMakeCorr.cxx.

References fStoreClustersCorr, and val.

Referenced by emc_complete_corr().

364 {
366  return;
367 }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
Bool_t fStoreClustersCorr

Member Data Documentation

TString PndEmcMakeCorr::corrFileName[4]
private

Definition at line 99 of file PndEmcMakeCorr.h.

Referenced by Init().

TFile* PndEmcMakeCorr::f

Definition at line 51 of file PndEmcMakeCorr.h.

Referenced by Init(), and ~PndEmcMakeCorr().

TFile * PndEmcMakeCorr::f0

Definition at line 51 of file PndEmcMakeCorr.h.

Referenced by ~PndEmcMakeCorr().

TFile * PndEmcMakeCorr::f1

Definition at line 51 of file PndEmcMakeCorr.h.

Referenced by ~PndEmcMakeCorr().

TFile * PndEmcMakeCorr::f2

Definition at line 51 of file PndEmcMakeCorr.h.

Referenced by ~PndEmcMakeCorr().

TFile * PndEmcMakeCorr::f3

Definition at line 51 of file PndEmcMakeCorr.h.

Referenced by ~PndEmcMakeCorr().

TClonesArray* PndEmcMakeCorr::fClusterArray
private

Input array of PndEmcClusters

Definition at line 68 of file PndEmcMakeCorr.h.

Referenced by Exec(), Init(), and ~PndEmcMakeCorr().

TClonesArray* PndEmcMakeCorr::fClusterArrayCorr
private

Output array of PndEmcBumps

Definition at line 71 of file PndEmcMakeCorr.h.

Referenced by Exec(), Init(), and ~PndEmcMakeCorr().

Int_t PndEmcMakeCorr::fClusterIndex
protected

Definition at line 64 of file PndEmcMakeCorr.h.

TString PndEmcMakeCorr::fClusterType
private

Definition at line 97 of file PndEmcMakeCorr.h.

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

PndEmcDigiPar* PndEmcMakeCorr::fDigiPar
private

Definition at line 73 of file PndEmcMakeCorr.h.

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

TString PndEmcMakeCorr::fModel
private

Definition at line 96 of file PndEmcMakeCorr.h.

Referenced by Init().

TString PndEmcMakeCorr::fPartName[4]
private

Definition at line 100 of file PndEmcMakeCorr.h.

Referenced by Init().

PndEmcRecoPar* PndEmcMakeCorr::fRecoPar
private

Reconstruction parameter container

Definition at line 74 of file PndEmcMakeCorr.h.

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

Bool_t PndEmcMakeCorr::fStoreClustersCorr
private

Definition at line 80 of file PndEmcMakeCorr.h.

Referenced by SetStorageOfData().

Int_t PndEmcMakeCorr::fVerbose
private

Definition at line 79 of file PndEmcMakeCorr.h.

TH2F* PndEmcMakeCorr::hEn[4]
private

Definition at line 87 of file PndEmcMakeCorr.h.

Referenced by Exec(), and Init().

TH2F* PndEmcMakeCorr::hEn5[4]
private

Definition at line 93 of file PndEmcMakeCorr.h.

Referenced by Exec(), and Init().

TH2F* PndEmcMakeCorr::hTh[4]
private

Definition at line 88 of file PndEmcMakeCorr.h.

Referenced by Exec(), and Init().

TH2F* PndEmcMakeCorr::hTh5[4]
private

Definition at line 94 of file PndEmcMakeCorr.h.

Referenced by Exec(), and Init().

TString PndEmcMakeCorr::nameEn[4]
private

Definition at line 85 of file PndEmcMakeCorr.h.

Referenced by Init().

TString PndEmcMakeCorr::nameEn5[4]
private

Definition at line 91 of file PndEmcMakeCorr.h.

Referenced by Init().

TString PndEmcMakeCorr::nameTh[4]
private

Definition at line 86 of file PndEmcMakeCorr.h.

Referenced by Init().

TString PndEmcMakeCorr::nameTh5[4]
private

Definition at line 92 of file PndEmcMakeCorr.h.

Referenced by Init().


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