Diana Software
MTwoVariablesEnergyFilter.hh
Go to the documentation of this file.
1 #ifndef _M_TWOVARIABLESENERGYFILTER_HH_
2 #define _M_TWOVARIABLESENERGYFILTER_HH_
3 
51 #include "QFilter.hh"
52 #include <map>
53 #include <set>
54 #include <string>
55 #include "QEventLabel.hh"
56 #include "QInterval.hh"
57 #include "QRunData.hh"
58 
60 
61 class MTwoVariablesEnergyFilter : public Diana::QFilter {
62 
63  public:
64 
66  void GetCuts(const Diana::QEvent& ev);
67 
69  bool Filter(const Diana::QEvent& ev);
70  //bool Filter(const Diana::QEvent& ev, const Diana::QEventList& neighbours);
71 
72  private:
73 
75  int fDataset;
76 
78  std::set<int> fMissingChannels;
79 
81  std::string fEnergyRangesInput;
82  std::string fChiSquareRangesInput;
83 
85  double fEnergyMin;
86  double fChiSquareMin;
87 
89  double fEnergyMax;
90  double fChiSquareMax;
91 
94 
95  Diana::QEventLabel fEnergyLabel;
96  Diana::QEventLabel fChiSquareLabel;
97  Diana::QInterval fEnergyRange;
98  Diana::QInterval fChiSquareRange;
99  std::set<int> fBlackList;
100  std::set<int> fChannelList;
102  std::string fEnergyRangesName;
103  std::string fChiSquareRangesName;
104 
105 };
106 
107 #endif
108 
energy threshold cut and flat ChiSquare cut (on a finite range) depending on the channel
std::string fEnergyRangesInput
Input for energy ranges (file or DB, for the moment only file works)
double fEnergyMax
cfg defined maximum values, to be applied to channels for which no energy range is defined
bool Filter(const Diana::QEvent &ev)
return true if ev passes the cuts
double fChiSquareCutMaxEnergy
cfg defined maximum value to apply the ChiSquare cut
void GetCuts(const Diana::QEvent &ev)
Get cuts from config file.
double fEnergyMin
cfg defined minimum values, to be applied to channels for which no energy range is defined
std::set< int > fMissingChannels
Set of channels missing from ranges file.
global handle for EnergyRanges
Basic run based info.
Definition: QRunData.hh:20