-
Notifications
You must be signed in to change notification settings - Fork 0
/
ObsGroomed.hh
48 lines (36 loc) · 1.25 KB
/
ObsGroomed.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef OBSGROOMED_HH
#define OBSGROOMED_HH
#include "Rtypes.h"
#include "ObsDifferential.hh"
#include "Analysis.hh"
#include <vector>
#include <map>
#include <functional>
#include <string>
class NtupleReader;
class TLorentzVector;
class DifferentialDataStructure;
class FilledObservable;
class ObsGroomed : public Observable {
public:
ObsGroomed( const std::vector<Double_t> &,
const std::vector<Double_t> &,
const std::vector<Analysis> &,
bool lprint=true );
virtual ~ObsGroomed() {}
virtual void fill( NtupleReader*, const Analysis & );
virtual std::vector<FilledObservable*> getFilledObservables() const;
private:
virtual void addAnalysis( const Analysis & );
const std::map<std::string,Double_t> getValues( NtupleReader*, const std::string & ) const;
typedef std::function< void ( const std::string &, const std::string & ) > LoopFunc;
void loop( const LoopFunc & ) const;
std::map<std::string,std::vector<Double_t>> binedges;
std::vector<Double_t> betaValues;
std::vector<Double_t> zcutValues;
typedef std::map<std::string,DifferentialDataStructure*> DdsMap;
typedef std::map<std::string,MatrixDataStructure*> MdsMap;
std::map<std::string,DdsMap> grData;
std::map<std::string,MdsMap> grMatrices;
};
#endif