PandaRoot
BSEmcFwEndcapBlindDeconvProcess.h
Go to the documentation of this file.
1 #ifndef BSEMCFWENDCAPBLINDDECOFEATUREEXTRACTIONPROCESS_HH
2 #define BSEMCFWENDCAPBLINDDECOFEATUREEXTRACTIONPROCESS_HH
3 
4 #include <algorithm>
5 #include <memory>
6 #include <string>
7 #include <vector>
8 
9 #include "Rtypes.h"
10 #include "RtypesCore.h"
11 #include "TString.h"
12 
13 #include "PndInputContainer.h"
14 #include "PndOutputContainerI.h"
15 #include "PndProcess.h"
16 
17 #include "BSEmcDigi.h"
18 #include "BSEmcDigitizationData.h"
19 #include "BSEmcMultiWaveform.h"
20 
23 #include "BSEmcPSAFPGAPeakfinder.h"
26 
28 class BSEmcAbsPSA;
29 class BSEmcWaveform;
30 class TBuffer;
31 class TClass;
32 class TMemberInspector;
34 template <class T>
36 
44 class BSEmcFwEndcapBlindDeconvProcess : public PndProcess<BSEmcDigitizationData> {
45  public:
48 
49  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
50  virtual void SetData(BSEmcDigitizationData *t_data) /*override*/;
51  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
52  virtual void Process() /*override*/;
53 
54  std::vector<BSEmcDigi *> ExtractDigis(const std::vector<const BSEmcMultiWaveform *> &t_waveforms) const;
55  void SetWaveformBranchName(const TString &t_branchname) { fWaveformBranchName = t_branchname; }
56 
57  Bool_t IsVptt(const Int_t t_detId) const;
58  void SetVpttIds(const std::vector<Int_t> &t_vpttIds)
59  {
60  fVpttIds = t_vpttIds;
61  std::sort(fVpttIds.begin(), fVpttIds.end());
62  }
63 
64  protected:
65  TString fHitBranchName{""};
66  TString fWaveformBranchName{""};
67 
70 
71  Double_t fEnergyDigiThreshold{0};
72 
78 
84 
85  std::vector<Int_t> fVpttIds{};
86 
88 };
89 
90 #endif /*BSEMCFWENDCAPBLINDDECOFEATUREEXTRACTIONPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:24
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
BSEmcPSAFPGAPileUpDetection fPileUpDetectorAPD
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:26
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:63
"Smart" container that figures out for you what underlying container needs to be fetched from FairRoo...
virtual void SetData(BSEmcDigitizationData *t_data)
Pass the data container ptrs to the process, and store pointers in class members. ...
BSEmcPSAFPGAPileUpDetection fPileUpDetectorVPTT
Blind deconvolution feature extraction approach for the FwEndcap.
std::vector< BSEmcDigi * > ExtractDigis(const std::vector< const BSEmcMultiWaveform *> &t_waveforms) const
void SetWaveformBranchName(const TString &t_branchname)
virtual void SetDetectorName(const std::string &t_detectorName)
Set the Detector name. Important, as most EmcParameter need to know for which detector they need to b...
void SetVpttIds(const std::vector< Int_t > &t_vpttIds)
ClassDef(BSEmcFwEndcapBlindDeconvProcess, 1)
Deconvolution of waveforms based on a chosen target function (gaussian)
Bool_t IsVptt(const Int_t t_detId) const
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
PndOutputContainerI< BSEmcDigi > * fDigiArray
PndInputContainer< BSEmcMultiWaveform > fWaveformArray
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
DataStruct to pass addresses to data Container between BSEmcDigitizerTask and PndProcess<BSEmcDigitiz...