@@ -21,47 +21,48 @@ class Task : public AnalysisTask {
2121 void Finish () override ;
2222
2323 size_t AddH1 (const Axis& x, Cuts* cuts = nullptr ) {
24- entries_.emplace_back (EntryConfig (x, cuts));
24+ entries_.emplace_back (EntryConfig (x, cuts, false ));
2525 auto var_id = AddEntry (AnalysisEntry (entries_.back ().GetVariables (), entries_.back ().GetEntryCuts ()));
26- entries_.back ().SetVariablesId (var_id);
26+ entries_.back ().SetVariablesId ({{ var_id. first , var_id. second . at ( 0 )}} );
2727 return entries_.size () - 1 ;
2828 }
2929
3030 size_t AddH2 (const Axis& x, const Axis& y, Cuts* cuts = nullptr ) {
3131 entries_.emplace_back (EntryConfig (x, y, cuts));
3232 auto var_id = AddEntry (AnalysisEntry (entries_.back ().GetVariables (), entries_.back ().GetEntryCuts ()));
33- entries_.back ().SetVariablesId (var_id);
33+ entries_.back ().SetVariablesId ({ { var_id. first , var_id. second . at ( 0 )}, {var_id. first , var_id. second . at ( 1 )} } );
3434 return entries_.size () - 1 ;
3535 }
3636
3737 size_t AddProfile (const Axis& x, const Axis& y, Cuts* cuts = nullptr ) {
3838 entries_.emplace_back (EntryConfig (x, y, cuts, true ));
3939 auto var_id = AddEntry (AnalysisEntry (entries_.back ().GetVariables (), entries_.back ().GetEntryCuts ()));
40- entries_.back ().SetVariablesId (var_id);
40+ entries_.back ().SetVariablesId ({ { var_id. first , var_id. second . at ( 0 )}, {var_id. first , var_id. second . at ( 1 )} } );
4141 return entries_.size () - 1 ;
4242 }
4343
4444 size_t AddIntegral (const Axis& x, Cuts* cuts = nullptr ) {
45- if (x.GetFields ()[0 ].GetName () == " ones" ){
46- Axis x_one = Axis (x.GetTitle (),
47- // Variable("Ones", {}, [](const std::vector<double>& ){return 1;}),
48- Variable (" Ones" , {{x.GetBranchName (), " id" }}, [](const std::vector<double >& ){return 1 ;}),
49- {x.GetNbins (), x.GetXmin (), x.GetXmax ()});
50- entries_.emplace_back (EntryConfig (x_one, cuts, true ));
51- }
52- else {
53- entries_.emplace_back (EntryConfig (x, cuts, true ));
54- }
55-
45+ entries_.emplace_back (EntryConfig (x, cuts, true ));
5646 auto var_id = AddEntry (AnalysisEntry (entries_.back ().GetVariables (), entries_.back ().GetEntryCuts ()));
57- entries_.back ().SetVariablesId (var_id);
47+ entries_.back ().SetVariablesId ({{var_id.first , var_id.second .at (0 )}});
48+ return entries_.size () - 1 ;
49+ }
50+
51+ size_t AddIntegral (const Axis& x, const Axis& y, Cuts* cuts_x = nullptr , Cuts* cuts_y = nullptr ) {
52+ entries_.emplace_back (EntryConfig (x, cuts_x, y, cuts_y));
53+ auto var_id_x = AddEntry (AnalysisEntry ({entries_.back ().GetVariables ()[0 ]}, cuts_x));
54+ auto var_id_y = AddEntry (AnalysisEntry ({entries_.back ().GetVariables ()[1 ]}, cuts_y));
55+ entries_.back ().SetVariablesId ({ {var_id_x.first , var_id_x.second .at (0 )}, {var_id_y.first , var_id_y.second .at (0 )} });
5856 return entries_.size () - 1 ;
5957 }
6058
6159 std::vector<EntryConfig>& Entries () { return entries_; }
6260 void SetOutputFileName (std::string name) { out_file_name_ = std::move (name); }
6361
6462 private:
63+ void FillIntegral (EntryConfig& plot);
64+ size_t AddAnalysisEntry (const Axis& a, Cuts* cuts, bool is_integral);
65+
6566 std::vector<EntryConfig> entries_{};
6667 std::map<std::string, TDirectory*> dir_map_{};
6768 std::string out_file_name_{" QA.root" };
0 commit comments