Skip to content

Commit 2c9f8e2

Browse files
committed
propagate lambda functions changes in artus to kithiggs
1 parent 7930300 commit 2c9f8e2

File tree

56 files changed

+1064
-946
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1064
-946
lines changed

Diff for: interface/Consumers/TriggerTagAndProbeConsumers.h

+12-12
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
4242
m_tree->Branch("tagProbeSystem", &m_tagProbeSystem);
4343

4444

45-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagPt", [this](event_type const& event, product_type const& product)
45+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagPt", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
4646
{
4747
std::vector<float> tagPt;
4848
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -52,7 +52,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
5252
}
5353
return tagPt;
5454
});
55-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "probePt", [this](event_type const& event, product_type const& product)
55+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "probePt", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
5656
{
5757
std::vector<float> probePt;
5858
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -62,7 +62,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
6262
}
6363
return probePt;
6464
});
65-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "probeEta", [this](event_type const& event, product_type const& product)
65+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "probeEta", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
6666
{
6767
std::vector<float> probeEta;
6868
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -72,7 +72,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
7272
}
7373
return probeEta;
7474
});
75-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagProbeDeltaR", [this](event_type const& event, product_type const& product)
75+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagProbeDeltaR", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
7676
{
7777
std::vector<float> tagProbeDeltaR;
7878
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -82,7 +82,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
8282
}
8383
return tagProbeDeltaR;
8484
});
85-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagProbeMass", [this](event_type const& event, product_type const& product)
85+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagProbeMass", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
8686
{
8787
std::vector<float> tagProbeMass;
8888
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -92,7 +92,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
9292
}
9393
return tagProbeMass;
9494
});
95-
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "probeMatched", [this](event_type const& event, product_type const& product)
95+
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "probeMatched", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
9696
{
9797
std::vector<int> probeMatched;
9898
for (typename std::vector<std::pair<bool, bool> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectMatchedPairsMember)).begin();
@@ -102,7 +102,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
102102
}
103103
return probeMatched;
104104
});
105-
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "tagMatched", [this](event_type const& event, product_type const& product)
105+
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "tagMatched", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
106106
{
107107
std::vector<int> tagMatched;
108108
for (typename std::vector<std::pair<bool, bool> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectMatchedPairsMember)).begin();
@@ -112,7 +112,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
112112
}
113113
return tagMatched;
114114
});
115-
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "tagCharge", [this](event_type const& event, product_type const& product)
115+
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "tagCharge", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
116116
{
117117
std::vector<int> tagCharge;
118118
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -122,7 +122,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
122122
}
123123
return tagCharge;
124124
});
125-
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "probeCharge", [this](event_type const& event, product_type const& product)
125+
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "probeCharge", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
126126
{
127127
std::vector<int> probeCharge;
128128
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -132,7 +132,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
132132
}
133133
return probeCharge;
134134
});
135-
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "isOS", [this](event_type const& event, product_type const& product)
135+
LambdaNtupleConsumer<HttTypes>::AddVIntQuantity(metadata, "isOS", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
136136
{
137137
std::vector<int> isOS;
138138
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -142,7 +142,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
142142
}
143143
return isOS;
144144
});
145-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagIsoOverPt", [this](event_type const& event, product_type const& product)
145+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagIsoOverPt", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
146146
{
147147
std::vector<float> tagIsoOverPt;
148148
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();
@@ -152,7 +152,7 @@ class TriggerTagAndProbeConsumerBase: public ConsumerBase<HttTypes>
152152
}
153153
return tagIsoOverPt;
154154
});
155-
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagIso", [this](event_type const& event, product_type const& product)
155+
LambdaNtupleConsumer<HttTypes>::AddVFloatQuantity(metadata, "tagIso", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
156156
{
157157
std::vector<float> tagIso;
158158
for (typename std::vector<std::pair<TTag*, TProbe*> >::const_iterator tagProbePair = (product.*(this->m_triggerTagProbeObjectPairsMember)).begin();

Diff for: interface/Filters/GenDiTauPairFilters.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
*/
1212
class GenDiTauPairCandidatesFilter: public CutRangeFilterBase<HttTypes> {
1313
public:
14-
15-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
16-
14+
15+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
16+
1717
virtual std::string GetFilterId() const override;
1818
virtual void Init(setting_type const& settings, metadata_type& metadata) override;
1919
};
@@ -23,9 +23,9 @@ class GenDiTauPairCandidatesFilter: public CutRangeFilterBase<HttTypes> {
2323
*/
2424
class GenDiTauPairAcceptanceFilter: public CutRangeFilterBase<HttTypes> {
2525
public:
26-
27-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
28-
26+
27+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
28+
2929
virtual std::string GetFilterId() const override;
3030
virtual void Init(setting_type const& settings, metadata_type& metadata) override;
3131
};

Diff for: interface/Filters/LooseObjectsCountFilters.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
class LooseElectronsCountFilter: public CutRangeFilterBase<HttTypes> {
1313
public:
1414

15-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
16-
15+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
16+
1717
virtual std::string GetFilterId() const override {
1818
return "LooseElectronsCountFilter";
1919
}
@@ -28,8 +28,8 @@ class LooseElectronsCountFilter: public CutRangeFilterBase<HttTypes> {
2828
class LooseMuonsCountFilter: public CutRangeFilterBase<HttTypes> {
2929
public:
3030

31-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
32-
31+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
32+
3333
virtual std::string GetFilterId() const override {
3434
return "LooseMuonsCountFilter";
3535
}

Diff for: interface/Filters/MaxLooseObjectsCountFilters.h

+5-6
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
class MaxLooseElectronsCountFilter: public CutRangeFilterBase<HttTypes> {
1313
public:
1414

15-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
16-
15+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
16+
1717
virtual std::string GetFilterId() const override {
1818
return "MaxLooseElectronsCountFilter";
1919
}
@@ -28,12 +28,11 @@ class MaxLooseElectronsCountFilter: public CutRangeFilterBase<HttTypes> {
2828
class MaxLooseMuonsCountFilter: public CutRangeFilterBase<HttTypes> {
2929
public:
3030

31-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
32-
31+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
32+
3333
virtual std::string GetFilterId() const override {
3434
return "MaxLooseMuonsCountFilter";
3535
}
36-
36+
3737
virtual void Init(setting_type const& settings, metadata_type& metadata) override;
3838
};
39-

Diff for: interface/Filters/MinimalPlotlevelFilter.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
class MinimalPlotlevelFilter : public FilterBase<HttTypes>
2424
{
2525
public:
26-
typedef std::function<float(event_type const&, product_type const&)> float_extractor_lambda;
27-
26+
typedef std::function<float(event_type const&, product_type const&, setting_type const&, metadata_type const&)> float_extractor_lambda;
27+
2828
virtual std::string GetFilterId() const override;
2929

3030
void Init(setting_type const& settings, metadata_type& metadata) override;
@@ -38,9 +38,9 @@ class MinimalPlotlevelFilter : public FilterBase<HttTypes>
3838
s.erase(i, n);
3939
}
4040
}
41-
42-
bool EvaluateSubExpression(std::string& expression, event_type const& event, product_type const& product, setting_type const& settings) const;
43-
41+
42+
bool EvaluateSubExpression(std::string& expression, event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) const;
43+
4444
virtual bool DoesEventPass(event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) const override;
4545

4646
private:

Diff for: interface/Filters/ValidDiTauPairCandidatesFilter.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
*/
1212
class ValidDiTauPairCandidatesFilter: public CutRangeFilterBase<HttTypes> {
1313
public:
14-
15-
typedef typename std::function<double(event_type const&, product_type const&)> double_extractor_lambda;
16-
14+
15+
typedef typename std::function<double(event_type const&, product_type const&, setting_type const&, metadata_type const&)> double_extractor_lambda;
16+
1717
virtual std::string GetFilterId() const override;
1818
virtual void Init(setting_type const& settings, metadata_type& metadata) override;
1919
};

Diff for: interface/Producers/GenDiTauPairCandidatesProducers.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class GenDiTauPairCandidatesProducerBase: public ProducerBase<HttTypes>
3434
ProducerBase<HttTypes>::Init(settings, metadata);
3535

3636
// add possible quantities for the lambda ntuples consumers
37-
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nGenDiTauPairCandidates", [](event_type const& event, product_type const& product)
37+
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nGenDiTauPairCandidates", [](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
3838
{
3939
return static_cast<int>(product.m_genDiTauPairCandidates.size());
4040
});

Diff for: interface/Producers/HttValidElectronsProducer.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class HttValidLooseElectronsProducer: public HttValidElectronsProducer
258258
HttValidElectronsProducer::Init(settings, metadata);
259259

260260
// add possible quantities for the lambda ntuples consumers
261-
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nLooseElectrons", [this](event_type const& event, product_type const& product) {
261+
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nLooseElectrons", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
262262
return product.m_validLooseElectrons.size();
263263
});
264264
}
@@ -327,7 +327,7 @@ class HttValidVetoElectronsProducer: public HttValidElectronsProducer
327327
HttValidElectronsProducer::Init(settings, metadata);
328328

329329
// add possible quantities for the lambda ntuples consumers
330-
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nVetoElectrons", [this](event_type const& event, product_type const& product) {
330+
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nVetoElectrons", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
331331
return product.m_validVetoElectrons.size();
332332
});
333333
}

Diff for: interface/Producers/HttValidMuonsProducer.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -82,25 +82,25 @@ class HttValidMuonsProducer: public ValidMuonsProducer<HttTypes>
8282
muonIsoTypeUserMode = ToMuonIsoTypeUserMode(boost::algorithm::to_lower_copy(boost::algorithm::trim_copy((settings.*GetMuonIsoTypeUserMode)())));
8383

8484
// add possible quantities for the lambda ntuples consumers
85-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "leadingMuonIso", [this](event_type const& event, product_type const& product) {
85+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "leadingMuonIso", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
8686
return product.m_validMuons.size() >= 1 ? SafeMap::GetWithDefault(product.m_muonIsolation, product.m_validMuons[0], DefaultValues::UndefinedDouble) : DefaultValues::UndefinedDouble;
8787
});
88-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "leadingMuonIsoOverPt", [this](event_type const& event, product_type const& product) {
88+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "leadingMuonIsoOverPt", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
8989
return product.m_validMuons.size() >= 1 ? SafeMap::GetWithDefault(product.m_muonIsolationOverPt, product.m_validMuons[0], DefaultValues::UndefinedDouble) : DefaultValues::UndefinedDouble;
9090
});
91-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_loose_1", [this](event_type const& event, product_type const& product)
91+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_loose_1", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
9292
{
9393
return product.m_validMuons.size() >= 1 ? product.m_validMuons[0]->idLoose() : DefaultValues::UndefinedFloat;
9494
});
95-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_medium_1", [this](event_type const& event, product_type const& product)
95+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_medium_1", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
9696
{
9797
return product.m_validMuons.size() >= 1 ? product.m_validMuons[0]->idMedium() : DefaultValues::UndefinedFloat;
9898
});
99-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_tight_1", [this](event_type const& event, product_type const& product)
99+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_tight_1", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
100100
{
101101
return product.m_validMuons.size() >= 1 ? product.m_validMuons[0]->idTight() : DefaultValues::UndefinedFloat;
102102
});
103-
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_highpt_1", [this](event_type const& event, product_type const& product)
103+
LambdaNtupleConsumer<HttTypes>::AddFloatQuantity(metadata, "id_m_highpt_1", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata)
104104
{
105105
return product.m_validMuons.size() >= 1 ? product.m_validMuons[0]->idHighPt() : DefaultValues::UndefinedFloat;
106106
});
@@ -155,7 +155,7 @@ class HttValidLooseMuonsProducer: public HttValidMuonsProducer
155155
HttValidMuonsProducer::Init(settings, metadata);
156156

157157
// add possible quantities for the lambda ntuples consumers
158-
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nLooseMuons", [this](event_type const& event, product_type const& product) {
158+
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nLooseMuons", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
159159
return product.m_validLooseMuons.size();
160160
});
161161
}
@@ -207,7 +207,7 @@ class HttValidVetoMuonsProducer: public HttValidMuonsProducer
207207

208208
HttValidMuonsProducer::Init(settings, metadata);
209209
// add possible quantities for the lambda ntuples consumers
210-
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nVetoMuons", [this](event_type const& event, product_type const& product) {
210+
LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nVetoMuons", [this](event_type const& event, product_type const& product, setting_type const& settings, metadata_type const& metadata) {
211211
return product.m_validVetoMuons.size();
212212
});
213213
}

0 commit comments

Comments
 (0)