-
Notifications
You must be signed in to change notification settings - Fork 2
/
DTTnPConfig.h
99 lines (67 loc) · 1.93 KB
/
DTTnPConfig.h
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#ifndef DTTnPConfig_h
#define DTTnPConfig_h
#include "TString.h"
#include <string>
#include <cstdlib>
#include <iostream>
#include <sstream>
#include <vector>
#include <regex>
#include <map>
#include <boost/filesystem.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
#include <boost/property_tree/exceptions.hpp>
#include <boost/lexical_cast.hpp>
class SampleConfig
{
public :
// config parameters (public for direct access)
std::vector<TString> fileNames;
TString outputFileName;
TString sampleName;
Float_t nEvents;
std::vector<int> runs;
SampleConfig() {};
#ifndef __MAKECINT__ // CB CINT doesn't like boost :'-(
SampleConfig(boost::property_tree::ptree::value_type & vt);
#endif
~SampleConfig() {};
private:
std::vector<int> toArrayI(const std::string & entries);
std::vector<TString> toArrayTS(const std::string & entries);
};
class TagAndProbeConfig
{
public :
// config parameters (public for direct access)
Float_t pair_minInvMass;
Float_t pair_maxInvMass;
Float_t pair_maxAbsDz;
Float_t pair_minDr;
Float_t tag_minPt;
Float_t tag_isoCut;
Float_t tag_hltDrCut;
std::string tag_hltFilter;
Float_t probe_minPt;
std::vector<Float_t> probe_maxAbsEta;
Float_t probe_isoCut;
Int_t probe_minTrkLayers;
Int_t probe_minPixelHits;
Float_t probe_maxBorderDx;
Float_t probe_maxBorderDy;
Float_t probe_minNMatchedSeg;
Float_t probe_minNRPCLayers;
Float_t passing_probe_maxTkSegDx;
Float_t passing_probe_maxTkSegDy;
Float_t passing_probe_maxTkSegDr;
std::string hlt_path;
TagAndProbeConfig() {};
#ifndef __MAKECINT__ // CB CINT doesn't like boost :'-(
TagAndProbeConfig(boost::property_tree::ptree::value_type & vt);
#endif
~TagAndProbeConfig() {};
private:
std::vector<Float_t> toArray(const std::string & entries);
};
#endif