All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | Private Attributes | List of all members
TPCNoiseMC::TPCNoiseMC Class Reference
Inheritance diagram for TPCNoiseMC::TPCNoiseMC:

Public Member Functions

 TPCNoiseMC (fhicl::ParameterSet const &p)
 
void analyze (const art::Event &e)
 
void reconfigure (fhicl::ParameterSet const &pset)
 
void beginJob ()
 
void endJob ()
 

Private Types

using FFTPointer = std::unique_ptr< icarus_signal_processing::ICARUSFFT< double >>
 

Private Attributes

std::string fRawDigitModuleLabel
 
std::string fRawDigitProcess
 
std::string fRawDigitInstance
 
std::string fHistoFileName
 
FFTPointer fFFT
 
int NumberTimeSamples
 
std::vector< std::vector< float > > fRawPowerC
 
std::vector< std::vector< float > > fIntrinsicPowerC
 
std::vector< std::vector< float > > fCoherentPowerC
 
std::vector< std::vector< float > > fRawPowerI1
 
std::vector< std::vector< float > > fIntrinsicPowerI1
 
std::vector< std::vector< float > > fCoherentPowerI1
 
std::vector< std::vector< float > > fRawPowerI2
 
std::vector< std::vector< float > > fIntrinsicPowerI2
 
std::vector< std::vector< float > > fCoherentPowerI2
 
TH1D * fRawPowerHistoI1
 
TH1D * fIntrinsicPowerHistoI1
 
TH1D * fCoherentPowerHistoI1
 
TH1D * fRawRMSHistoI1
 
TH1D * fIntrinsicRMSHistoI1
 
TH1D * fCoherentRMSHistoI1
 
TH1D * fMediaHistoI1
 
TH1D * fRawPowerHistoI2
 
TH1D * fIntrinsicPowerHistoI2
 
TH1D * fCoherentPowerHistoI2
 
TH1D * fRawRMSHistoI2
 
TH1D * fIntrinsicRMSHistoI2
 
TH1D * fCoherentRMSHistoI2
 
TH1D * fMediaHistoI2
 
TH1D * fRawPowerHistoC
 
TH1D * fIntrinsicPowerHistoC
 
TH1D * fCoherentPowerHistoC
 
TH1D * fRawRMSHistoC
 
TH1D * fIntrinsicRMSHistoC
 
TH1D * fCoherentRMSHistoC
 
TH1D * fMediaHistoC
 
int fEvent
 
int fRun
 
int fSubRun
 
std::vector< float > fPed
 
std::vector< float > fRawMeanC
 
std::vector< float > fRawMeanI1
 
std::vector< float > fRawMeanI2
 
std::vector< double > fRawRMSC
 
std::vector< double > fRawRMSI1
 
std::vector< double > fRawRMSI2
 
std::vector< double > fRawRMSTrim
 
std::vector< float > fIntrinsicMean
 
std::vector< double > fIntrinsicRMSC
 
std::vector< double > fIntrinsicRMSI1
 
std::vector< double > fIntrinsicRMSI2
 
std::vector< double > fIntrinsicRMSTrim
 
std::vector< float > fCoherentMean
 
std::vector< double > fCoherentRMSC
 
std::vector< double > fCoherentRMSI1
 
std::vector< double > fCoherentRMSI2
 
std::vector< double > fCoherentRMSTrim
 
std::vector< unsigned short int > fChannel
 
unsigned int NEvents
 
TTree * fNoiseTree
 
TTree * fRawPowerTree
 
TTree * fIntrinsicPowerTree
 
TTree * fCoherentPowerTree
 

Detailed Description

Definition at line 65 of file TPCNoiseMC_module.cc.

Member Typedef Documentation

using TPCNoiseMC::TPCNoiseMC::FFTPointer = std::unique_ptr<icarus_signal_processing::ICARUSFFT<double>>
private

Definition at line 92 of file TPCNoiseMC_module.cc.

Constructor & Destructor Documentation

TPCNoiseMC::TPCNoiseMC::TPCNoiseMC ( fhicl::ParameterSet const &  p)
explicit

Definition at line 169 of file TPCNoiseMC_module.cc.

170  : EDAnalyzer(p),
171  NEvents(0)
172 {
173  // Retrieve proper number of time samples.
174  auto const detProp = art::ServiceHandle<detinfo::DetectorPropertiesService const>()->DataForJob();
175  NumberTimeSamples = detProp.NumberTimeSamples();
176 
177  std::cout << "Number of time samples: " << NumberTimeSamples << std::endl;
178 
179  fRawPowerC.resize(1);
180  for(auto &it : fRawPowerC)
181  {
182  it.resize(NumberTimeSamples);
183  }
184 std::cout << " after resizing " << std::endl;
185  fIntrinsicPowerC.resize(1);
186  for(auto &it : fIntrinsicPowerC)
187  {
188  it.resize(NumberTimeSamples);
189  }
190 std::cout << " after resizing " << std::endl;
191  fCoherentPowerC.resize(1);
192  for(auto &it : fCoherentPowerC)
193  {
194  it.resize(NumberTimeSamples);
195  }
196 
197 std::cout << " after resizing " << std::endl;
198  fRawPowerI1.resize(1);
199  for(auto &it : fRawPowerI1)
200  {
201  it.resize(NumberTimeSamples);
202  }
203 std::cout << " after resizing " << std::endl;
204  fIntrinsicPowerI1.resize(1);
205  for(auto &it : fIntrinsicPowerI1)
206  {
207  it.resize(NumberTimeSamples);
208  }
209 std::cout << " after resizing " << std::endl;
210  fCoherentPowerI1.resize(1);
211  for(auto &it : fCoherentPowerI1)
212  {
213  it.resize(NumberTimeSamples);
214  }
215 fCoherentPowerI2.resize(1);
216  for(auto &it : fCoherentPowerI2)
217  {
218  it.resize(NumberTimeSamples);
219  }
220 std::cout << " after resizing " << std::endl;
221  fRawPowerI2.resize(1);
222  for(auto &it : fRawPowerI2)
223  {
224  it.resize(NumberTimeSamples);
225  }
226 std::cout << " after resizing " << std::endl;
227  fIntrinsicPowerI2.resize(1);
228  for(auto &it : fIntrinsicPowerI2)
229  {
230  it.resize(NumberTimeSamples);
231  }
232 std::cout << " after intrinsic i2 resizing " << std::endl;
233 
234  fFFT = std::make_unique<icarus_signal_processing::ICARUSFFT<double>>(NumberTimeSamples);
235  this->reconfigure(p);
236 double freqBin=0.6103515625;
237 fRawPowerHistoC=new TH1D("rawpowerC","rawpowerC",2048,0.,2048*freqBin);
238 fIntrinsicPowerHistoC=new TH1D("intpowerC","intpowerC",2048,0.,2048*freqBin);
239 fCoherentPowerHistoC=new TH1D("cohpowerC","cohpowerC",2048,0.,2048*freqBin);
240 fRawRMSHistoC=new TH1D("rawRMSC","rawRMSC",100,0.,30.);
241 fMediaHistoC=new TH1D("mediaC","mediaC",100,-10.,10.);
242 fIntrinsicRMSHistoC=new TH1D("intRMSC","intRMSC",100,0.,30.);
243 fCoherentRMSHistoC=new TH1D("cohRMSC","cohRMSC",100,0.,30.);
244 fRawPowerHistoI1=new TH1D("rawpowerI1","rawpowerI1",2048,0.,2048*freqBin);
245 fIntrinsicPowerHistoI1=new TH1D("intpowerI1","intpowerI1",2048,0.,2048*freqBin);
246 fCoherentPowerHistoI1=new TH1D("cohpowerI1","cohpowerI1",2048,0.,2048*freqBin);
247 fRawRMSHistoI1=new TH1D("rawRMSI1","rawRMSI1",100,0.,30.);
248 fMediaHistoI1=new TH1D("mediaI1","mediaI1",100,-10.,10.);
249 fIntrinsicRMSHistoI1=new TH1D("intRMSI1","intRMSI1",100,0.,30.);
250 fCoherentRMSHistoI1=new TH1D("cohRMSI1","cohRMSI1",100,0.,30.);
251 fRawPowerHistoI2=new TH1D("rawpowerI2","rawpowerI2",2048,0.,2048*freqBin);
252 fIntrinsicPowerHistoI2=new TH1D("intpowerI2","intpowerI2",2048,0.,2048*freqBin);
253 fCoherentPowerHistoI2=new TH1D("cohpowerI2","cohpowerI2",2048,0.,2048*freqBin);
254 fRawRMSHistoI2=new TH1D("rawRMSI2","rawRMSI2",100,0.,30.);
255 fMediaHistoI2=new TH1D("mediaI2","mediaI2",100,-10.,10.);
256 fIntrinsicRMSHistoI2=new TH1D("intRMSI2","intRMSI2",100,0.,30.);
257 fCoherentRMSHistoI2=new TH1D("cohRMSI2","cohRMSI2",100,0.,30.);
258 
259 std::cout << " end constructor " << std::endl;
260 }
std::vector< std::vector< float > > fRawPowerC
std::vector< std::vector< float > > fCoherentPowerI1
std::vector< std::vector< float > > fRawPowerI2
pdgs p
Definition: selectors.fcl:22
std::vector< std::vector< float > > fCoherentPowerC
void reconfigure(fhicl::ParameterSet const &pset)
std::vector< std::vector< float > > fCoherentPowerI2
std::vector< std::vector< float > > fRawPowerI1
std::vector< std::vector< float > > fIntrinsicPowerI1
std::vector< std::vector< float > > fIntrinsicPowerC
BEGIN_PROLOG could also be cout
auto const detProp
std::vector< std::vector< float > > fIntrinsicPowerI2

Member Function Documentation

void TPCNoiseMC::TPCNoiseMC::analyze ( const art::Event &  e)

Definition at line 262 of file TPCNoiseMC_module.cc.

263 {
264 std::cout << " begin analyze " << std::endl;
265  art::ServiceHandle<geo::Geometry> geom;
266 
267  // Clear vectors before filling for this event.
268  fChannel.clear();
269 std::cout << " after clearing " << std::endl;
270  fPed.clear();
271  fRawMeanC.clear();
272 fRawMeanI1.clear();
273 fRawMeanI2.clear();
274  fRawRMSC.clear();
275  fCoherentRMSC.clear();
276  fRawRMSTrim.clear();
277 fRawRMSI1.clear();
278  fCoherentRMSI1.clear();
279 fRawRMSI2.clear();
280  fCoherentRMSI2.clear();
281  fIntrinsicMean.clear();
282  fIntrinsicRMSC.clear();
283 fIntrinsicRMSI1.clear();
284 fIntrinsicRMSI2.clear();
285  fIntrinsicRMSTrim.clear();
286 std::cout << " after clearing " << std::endl;
287 
288  // Fill event level variables.
289  fEvent = e.id().event();
290 std::cout << " event " << fEvent << std::endl;
291  fRun = e.id().run();
292 std::cout << " run " << fRun << std::endl;
293  fSubRun = e.id().subRun();
294  std::cout << " subrun " << fSubRun << std::endl;
295  std::cout << "Processing event " << NEvents+1 << " for TPC Noise Analysis " << " Run " << fRun << ", " << "Event " << fEvent << "." << std::endl;
296 
297 
298  ///////////////////////////
299  // "Raw" RawDigits.
300  ///////////////////////////
301 
302  art::Handle< std::vector<raw::RawDigit> > RawDigitHandle;
303  e.getByLabel(fRawDigitModuleLabel, fRawDigitInstance,fRawDigitProcess, RawDigitHandle);
304 
305  // int ctI1=0; int ctI2=0; int ctC=0;
306  for(const auto& RawDigit : *RawDigitHandle)
307  {
308  // Grab raw waveform, ensuring that the size is set appropriately.
309  unsigned int DataSize = RawDigit.Samples();
310  std::vector<short> RawADC;
311  RawADC.resize(DataSize);
312  raw::Uncompress(RawDigit.ADCs(), RawADC, RawDigit.Compression());
313 
314  // We need a sorted waveform (by absolute value) for the truncated RMS and median calculation.
315  std::vector<short> SortedADC(RawADC);
316  std::sort(SortedADC.begin(),SortedADC.end(),[](const auto& left, const auto& right){return std::fabs(left) < std::fabs(right);});
317  float median(SortedADC.at(SortedADC.size()/2));
318 
319  // Calculate mean values.
320  float mean(float(std::accumulate(SortedADC.begin(),SortedADC.end(),0))/float(SortedADC.size()));
321 std::vector<geo::WireID> widVec = geom->ChannelToWire(RawDigit.Channel());
322  size_t plane = widVec[0].Plane;
323  size_t wire = widVec[0].Wire;
324 size_t tpc = widVec[0].TPC;
325 size_t cryostat = widVec[0].Cryostat;
326 std::cout << " cryo " << cryostat << " tpc " << tpc << " plane " << plane <<" wire " << wire << std::endl;
327  // Remove pedestal of waveform.
328  std::vector<float> ADCLessPed;
329  ADCLessPed.resize(SortedADC.size());
330  std::transform(SortedADC.begin(),SortedADC.end(),ADCLessPed.begin(),std::bind(std::minus<float>(),std::placeholders::_1,median));
331 
332  // Calculate full RMS.
333  float rms(std::sqrt(std::inner_product(ADCLessPed.begin(), ADCLessPed.end(), ADCLessPed.begin(), 0.) / float(ADCLessPed.size())));
334 
335  // Calculate the truncated RMS.
336  unsigned int MinBins((1.0 - 0.01)*ADCLessPed.size());
337  //unsigned int BinsToKeep;
338  //for(BinsToKeep = 0; BinsToKeep < ADCLessPed.size(); ++BinsToKeep)
339  //{
340  // if(std::fabs(ADCLessPed.at(BinsToKeep)) >= 3*rms) break;
341  //}
342  //float truncrms(std::sqrt(std::inner_product(ADCLessPed.begin(), ADCLessPed.begin() + BinsToKeep, ADCLessPed.begin(), 0.) / float(BinsToKeep)));
343  float truncrms(std::sqrt(std::inner_product(ADCLessPed.begin(), ADCLessPed.begin() + MinBins, ADCLessPed.begin(), 0.) / float(MinBins)));
344 
345  // Calculate the power.
346  std::vector<double> power(DataSize);
347  std::vector<double> RawLessPed;
348  RawLessPed.resize(RawADC.size());
349  std::transform(RawADC.begin(),RawADC.end(),RawLessPed.begin(),std::bind(std::minus<double>(),std::placeholders::_1,median));
350  fFFT->getFFTPower(RawLessPed, power);
351 
352 if(plane==0) {
353 std::transform(fRawPowerI1.at(0).begin(), fRawPowerI1.at(0).end(), power.begin(), fRawPowerI1.at(0).begin(), std::plus<float>()); }
354 if(plane==1) { std::transform(fRawPowerI2.at(0).begin(), fRawPowerI2.at(0).end(), power.begin(), fRawPowerI2.at(0).begin(), std::plus<float>()); }
355 if(plane==2) { std::transform(fRawPowerC.at(0).begin(), fRawPowerC.at(0).end(), power.begin(), fRawPowerC.at(0).begin(), std::plus<float>()); }
356 
357 
358  fPed.push_back(median);
359  if(plane==2) fRawMeanC.push_back(mean);
360 if(plane==1) fRawMeanI2.push_back(mean);
361 if(plane==0) fRawMeanI1.push_back(mean);
362  if(plane==2) { fRawRMSC.push_back(rms);}
363  if(plane==0) { fRawRMSI1.push_back(rms); }
364  if(plane==1) { fRawRMSI2.push_back(rms);if(wire==0) for(int j=0;j<4096;j++) std::cout << " wire 0 tick " << j << " signal " << RawADC.at(j) << std::endl;
365  }
366  fRawRMSTrim.push_back(truncrms);
367 
368  fChannel.push_back(RawDigit.Channel());
369 
370  }
371 
372 
373 //std::cout << " cohrms size " << fCoherentRMSC.size() << std::endl;
374 //for(int j=0;j<10;j++) std::cout << " j " << j << " cohrms C " << fCoherentRMSC.at(j) << " cohrms I2 " << fCoherentRMSI2.at(j) << std::endl;
375  fNoiseTree->Fill();
376  ++NEvents;
377 
378  return;
379 
380 }
std::vector< std::vector< float > > fRawPowerC
static constexpr Sample_t transform(Sample_t sample)
std::vector< double > fCoherentRMSC
std::vector< float > fRawMeanC
std::vector< std::vector< float > > fRawPowerI2
std::vector< float > fRawMeanI2
std::vector< double > fIntrinsicRMSC
std::vector< float > fRawMeanI1
walls no right
Definition: selectors.fcl:105
std::vector< double > fIntrinsicRMSTrim
std::vector< double > fCoherentRMSI2
std::vector< std::vector< float > > fRawPowerI1
std::vector< double > fRawRMSC
std::vector< double > fIntrinsicRMSI1
std::vector< double > fCoherentRMSI1
walls no left
Definition: selectors.fcl:105
std::vector< double > fRawRMSI2
double mean(const std::vector< short > &wf, size_t start, size_t nsample)
Definition: UtilFunc.cxx:13
std::vector< float > fIntrinsicMean
std::vector< unsigned short int > fChannel
std::vector< double > fRawRMSTrim
do i e
void Uncompress(const std::vector< short > &adc, std::vector< short > &uncompressed, raw::Compress_t compress)
Uncompresses a raw data buffer.
Definition: raw.cxx:776
std::vector< double > fIntrinsicRMSI2
std::vector< double > fRawRMSI1
BEGIN_PROLOG could also be cout
std::vector< float > fPed
void TPCNoiseMC::TPCNoiseMC::beginJob ( )

Definition at line 395 of file TPCNoiseMC_module.cc.

396 {
397  art::ServiceHandle<art::TFileService> tfs;
398 
399  fNoiseTree = tfs->makeAndRegister<TTree>("TPCNoiseMC_t", "TPC Noise");
400  fRawPowerTree = tfs->makeAndRegister<TTree>("TPCRawPower_t", "TPC Raw Power");
401  fIntrinsicPowerTree = tfs->makeAndRegister<TTree>("TPCIntrinsicPower_t", "TPC Intrinsic Power");
402 fCoherentPowerTree = tfs->makeAndRegister<TTree>("TPCCoherentPower_t", "TPC Coherent Power");
403 
404  // Initialize branches of the noise TTree.
405  fNoiseTree->Branch("Event", &fEvent, "Event/I");
406  fNoiseTree->Branch("Run", &fRun, "Run/I");
407  fNoiseTree->Branch("SubRun", &fSubRun, "SubRun/I");
408  fNoiseTree->Branch("Channel", &fChannel);
409  fNoiseTree->Branch("Pedestal", &fPed);
410  fNoiseTree->Branch("RawMeanC", &fRawMeanC);
411  fNoiseTree->Branch("RawRMSC", &fRawRMSC);
412 
413  fNoiseTree->Branch("RawTrimmedRMS", &fRawRMSTrim);
414  fNoiseTree->Branch("IntrinsicMean", &fIntrinsicMean);
415  fNoiseTree->Branch("IntrinsicRMSC", &fIntrinsicRMSC);
416  fNoiseTree->Branch("IntrinsicTrimmedRMS", &fIntrinsicRMSTrim);
417 
418  return;
419 }
std::vector< float > fRawMeanC
std::vector< double > fIntrinsicRMSC
std::vector< double > fIntrinsicRMSTrim
std::vector< double > fRawRMSC
std::vector< float > fIntrinsicMean
std::vector< unsigned short int > fChannel
std::vector< double > fRawRMSTrim
art::ServiceHandle< art::TFileService > tfs
std::vector< float > fPed
void TPCNoiseMC::TPCNoiseMC::endJob ( )

Definition at line 421 of file TPCNoiseMC_module.cc.

422 {
423 double freqBin=0.6103515625;
424  // Average the power vectors.
425  std::cout << "Averaging power vectors..." << std::endl;
426  std::vector<float> TMPVect;
427  fRawPowerTree->Branch("Power", &TMPVect);
428  for(auto &it : fRawPowerC)
429  {
430  std::transform(it.begin(), it.end(), it.begin(), std::bind(std::divides<float>(), std::placeholders::_1, NEvents));
431  TMPVect = it;
432  // fRawPowerTree->Fill();
433  std::cout << " tmpvect size " << TMPVect.size() << std::endl;
434 for(unsigned int jv=0;jv<TMPVect.size();jv++)
435  fRawPowerHistoC->Fill(jv*freqBin,TMPVect[jv]);
436  }
437 std::cout << " after filling raw power histo " << std::endl;
438 
439 
440 std::cout << " frawrmsc size " << fRawRMSC.size() << std::endl;
441  for(unsigned int jj=0;jj<fRawRMSC.size();jj++)
442  fRawRMSHistoC->Fill(fRawRMSC.at(jj));
443 std::cout << " after filling raw rms histo " << std::endl;
444 for(unsigned int j=0;j<fRawMeanC.size(); j++) {
445 std::cout << " filling media " << std::endl;
446  fMediaHistoC->Fill(fRawMeanC.at(j));
447 }
448 std::cout << " after filling media histo " << std::endl;
449 
450  // Average the power vectors.
451  std::cout << "Averaging power vectors..." << std::endl;
452  //std::vector<float> TMPVect;
453  fRawPowerTree->Branch("Power", &TMPVect);
454 int count=0;
455  for(auto &it : fRawPowerI1)
456  {
457  std::cout << " i1 counter " << count++ << std::endl;
458  std::transform(it.begin(), it.end(), it.begin(), std::bind(std::divides<float>(), std::placeholders::_1, NEvents));
459  TMPVect = it;
460  // fRawPowerTree->Fill();
461  // std::cout << " tmpvect size " << TMPVect.size() << std::endl;
462 for(unsigned int jv=0;jv<TMPVect.size();jv++)
463  fRawPowerHistoI1->Fill(jv*freqBin,TMPVect[jv]);
464  }
465 std::cout << " after filling raw power histo " << std::endl;
466 
467 
468 std::cout << " rawrmsi1 size " << fRawRMSI1.size() << std::endl;
469  for(unsigned int jj=0;jj<fRawRMSI1.size();jj++) {
470 std::cout << " filling rawrmsi1 value " << fRawRMSI1.at(jj) << std::endl;
471  fRawRMSHistoI1->Fill(fRawRMSI1.at(jj));
472 }
473 std::cout << " after filling raw rms histo entries " << fRawRMSHistoI1->GetEntries() << std::endl;
474 for(unsigned int j=0;j<fRawMeanI1.size(); j++) {
475 //std::cout << " filling media " << std::endl;
476  fMediaHistoI1->Fill(fRawMeanI1.at(j));
477 }
478 std::cout << " after filling media histo " << std::endl;
479 
480 for(unsigned int jj=0;jj<fIntrinsicRMSI1.size();jj++)
482 
483 std::cout << " fillhisto cohrms size " << fCoherentRMSI1.size() << std::endl;
484 
485 for(unsigned int j=0;j<fCoherentRMSI1.size();j++) {
486 std::cout << " filling coherent RMS " << fCoherentRMSI1.at(j) << std::endl;
487  fCoherentRMSHistoI1->Fill(fCoherentRMSI1.at(j));
488 }
489 
490  // Average the power vectors.
491  std::cout << "Averaging power vectors..." << std::endl;
492  //std::vector<float> TMPVect;
493  fRawPowerTree->Branch("Power", &TMPVect);
494  for(auto &it : fRawPowerI2)
495  {
496  std::transform(it.begin(), it.end(), it.begin(), std::bind(std::divides<float>(), std::placeholders::_1, NEvents));
497  TMPVect = it;
498  // fRawPowerTree->Fill();
499  std::cout << " tmpvect size " << TMPVect.size() << std::endl;
500 for(unsigned int jv=0;jv<TMPVect.size();jv++)
501  fRawPowerHistoI2->Fill(jv*freqBin,TMPVect[jv]);
502  }
503 std::cout << " after filling raw power histo " << std::endl;
504 
505  for(unsigned int jj=0;jj<fRawRMSI2.size();jj++)
506  fRawRMSHistoI2->Fill(fRawRMSI2.at(jj));
507 std::cout << " after filling raw rms histo " << std::endl;
508 for(unsigned int j=0;j<fRawMeanI2.size(); j++) {
509 //std::cout << " filling media " << std::endl;
510  fMediaHistoI2->Fill(fRawMeanI2.at(j));
511 }
512 std::cout << " after filling media histo " << std::endl;
513 
514  TFile *f = new TFile(fHistoFileName.c_str(),"RECREATE");
515 
516 std::cout << " coherent rms histo entries "<< std::endl;
517 
518  fRawPowerHistoI2->Write();
519 
520  fRawRMSHistoI2->Write();
521 fMediaHistoI2->Write();
522 
523 
524 std::cout << " after filling i2 histos " << std::endl;
525 
526  fRawPowerHistoI1->Write();
527 
528  fRawRMSHistoI1->Write();
529 fMediaHistoI1->Write();
530 
531 
532 std::cout << " after filling i1 histos " << std::endl;
533 
534  fRawPowerHistoC->Write();
535 
536  fRawRMSHistoC->Write();
537 fMediaHistoC->Write();
538 
539  f->Close();
540  f->Delete();
541 std::cout << " after filling c histos " << std::endl;
542  std::cout << "Ending job..." << std::endl;
543 //exit(11);
544  return;
545 }
std::vector< std::vector< float > > fRawPowerC
static constexpr Sample_t transform(Sample_t sample)
std::vector< float > fRawMeanC
std::vector< std::vector< float > > fRawPowerI2
std::vector< float > fRawMeanI2
std::vector< float > fRawMeanI1
std::vector< std::vector< float > > fRawPowerI1
std::vector< double > fRawRMSC
std::vector< double > fIntrinsicRMSI1
std::vector< double > fCoherentRMSI1
std::vector< double > fRawRMSI2
std::size_t count(Cont const &cont)
std::vector< double > fRawRMSI1
BEGIN_PROLOG could also be cout
void TPCNoiseMC::TPCNoiseMC::reconfigure ( fhicl::ParameterSet const &  pset)

Definition at line 382 of file TPCNoiseMC_module.cc.

383 {
384  fRawDigitModuleLabel = p.get< std::string >("RawDigitModuleLabel", std::string("daqTPC"));
385  //std::cerr << "fRawDigitModuleLabel: " << fRawDigitModuleLabel << std::endl;
386  fRawDigitProcess = p.get< std::string >("RawDigitProcess", std::string("decode"));
387  //std::cerr << "fRawDigitProcess: " << fRawDigitProcess << std::endl;
388  fRawDigitInstance = p.get< std::string >("RawDigitInstance", std::string(""));
389 fHistoFileName = p.get< std::string >("HistoFileName");
390 
391  return;
392 
393 }
pdgs p
Definition: selectors.fcl:22

Member Data Documentation

std::vector<unsigned short int> TPCNoiseMC::TPCNoiseMC::fChannel
private

Definition at line 155 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fCoherentMean
private

Definition at line 150 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fCoherentPowerC
private

Definition at line 99 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentPowerHistoC
private

Definition at line 128 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentPowerHistoI1
private

Definition at line 112 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentPowerHistoI2
private

Definition at line 120 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fCoherentPowerI1
private

Definition at line 103 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fCoherentPowerI2
private

Definition at line 107 of file TPCNoiseMC_module.cc.

TTree* TPCNoiseMC::TPCNoiseMC::fCoherentPowerTree
private

Definition at line 165 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fCoherentRMSC
private

Definition at line 151 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentRMSHistoC
private

Definition at line 131 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentRMSHistoI1
private

Definition at line 115 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fCoherentRMSHistoI2
private

Definition at line 123 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fCoherentRMSI1
private

Definition at line 152 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fCoherentRMSI2
private

Definition at line 153 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fCoherentRMSTrim
private

Definition at line 154 of file TPCNoiseMC_module.cc.

int TPCNoiseMC::TPCNoiseMC::fEvent
private

Definition at line 134 of file TPCNoiseMC_module.cc.

FFTPointer TPCNoiseMC::TPCNoiseMC::fFFT
private

Definition at line 93 of file TPCNoiseMC_module.cc.

std::string TPCNoiseMC::TPCNoiseMC::fHistoFileName
private

Definition at line 88 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fIntrinsicMean
private

Definition at line 145 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerC
private

Definition at line 98 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerHistoC
private

Definition at line 127 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerHistoI1
private

Definition at line 111 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerHistoI2
private

Definition at line 119 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerI1
private

Definition at line 102 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerI2
private

Definition at line 106 of file TPCNoiseMC_module.cc.

TTree* TPCNoiseMC::TPCNoiseMC::fIntrinsicPowerTree
private

Definition at line 164 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSC
private

Definition at line 146 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSHistoC
private

Definition at line 130 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSHistoI1
private

Definition at line 114 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSHistoI2
private

Definition at line 122 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSI1
private

Definition at line 147 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSI2
private

Definition at line 148 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fIntrinsicRMSTrim
private

Definition at line 149 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fMediaHistoC
private

Definition at line 132 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fMediaHistoI1
private

Definition at line 116 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fMediaHistoI2
private

Definition at line 124 of file TPCNoiseMC_module.cc.

TTree* TPCNoiseMC::TPCNoiseMC::fNoiseTree
private

Definition at line 162 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fPed
private

Definition at line 137 of file TPCNoiseMC_module.cc.

std::string TPCNoiseMC::TPCNoiseMC::fRawDigitInstance
private

Definition at line 87 of file TPCNoiseMC_module.cc.

std::string TPCNoiseMC::TPCNoiseMC::fRawDigitModuleLabel
private

Definition at line 85 of file TPCNoiseMC_module.cc.

std::string TPCNoiseMC::TPCNoiseMC::fRawDigitProcess
private

Definition at line 86 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fRawMeanC
private

Definition at line 138 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fRawMeanI1
private

Definition at line 139 of file TPCNoiseMC_module.cc.

std::vector<float> TPCNoiseMC::TPCNoiseMC::fRawMeanI2
private

Definition at line 140 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fRawPowerC
private

Definition at line 97 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawPowerHistoC
private

Definition at line 126 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawPowerHistoI1
private

Definition at line 110 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawPowerHistoI2
private

Definition at line 118 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fRawPowerI1
private

Definition at line 101 of file TPCNoiseMC_module.cc.

std::vector< std::vector<float> > TPCNoiseMC::TPCNoiseMC::fRawPowerI2
private

Definition at line 105 of file TPCNoiseMC_module.cc.

TTree* TPCNoiseMC::TPCNoiseMC::fRawPowerTree
private

Definition at line 163 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fRawRMSC
private

Definition at line 141 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawRMSHistoC
private

Definition at line 129 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawRMSHistoI1
private

Definition at line 113 of file TPCNoiseMC_module.cc.

TH1D* TPCNoiseMC::TPCNoiseMC::fRawRMSHistoI2
private

Definition at line 121 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fRawRMSI1
private

Definition at line 142 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fRawRMSI2
private

Definition at line 143 of file TPCNoiseMC_module.cc.

std::vector<double> TPCNoiseMC::TPCNoiseMC::fRawRMSTrim
private

Definition at line 144 of file TPCNoiseMC_module.cc.

int TPCNoiseMC::TPCNoiseMC::fRun
private

Definition at line 135 of file TPCNoiseMC_module.cc.

int TPCNoiseMC::TPCNoiseMC::fSubRun
private

Definition at line 136 of file TPCNoiseMC_module.cc.

unsigned int TPCNoiseMC::TPCNoiseMC::NEvents
private

Definition at line 159 of file TPCNoiseMC_module.cc.

int TPCNoiseMC::TPCNoiseMC::NumberTimeSamples
private

Definition at line 94 of file TPCNoiseMC_module.cc.


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