Changes in display/DelphesPlotSummary.cc [c3c9ac5:53b78e8] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
display/DelphesPlotSummary.cc
rc3c9ac5 r53b78e8 49 49 histograms.push_back(h); 50 50 histograms_[(*data)->GetName()] = histograms; 51 // the event histograms52 TH1F* h1 = (TH1F*)histograms[0]->Clone(); h1->Reset(); h1->SetLineColor(kBlue);53 TH1F* h2 = (TH1F*)histograms[1]->Clone(); h2->Reset(); h2->SetLineColor(kBlue);54 TH1F* h3 = (TH1F*)histograms[2]->Clone(); h3->Reset(); h3->SetLineColor(kBlue);55 std::vector<TH1F*> hv;56 hv.push_back(h1);57 hv.push_back(h2);58 hv.push_back(h3);59 eventProfiles_[(*data)->GetName()] = hv;60 // the event markers61 TMarker *m;62 std::vector<TMarker*> mv;63 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);64 mv.push_back(m);65 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);66 mv.push_back(m);67 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);68 mv.push_back(m);69 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);70 mv.push_back(m);71 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);72 mv.push_back(m);73 m = new TMarker(0,0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3);74 mv.push_back(m);75 eventMarkers_[(*data)->GetName()] = mv;76 51 } 77 52 } … … 120 95 eventProfiles[i]->Draw("same"); 121 96 } else { 122 eventMarkers[i-3]->Draw("same"); 97 if(eventMarkers.size()>(unsigned int)(i-3)) { 98 eventMarkers[i-3]->Draw("same"); 99 } 123 100 } 124 101 } … … 127 104 } 128 105 129 void DelphesPlotSummary::FillEvent() { 130 // clear event histograms and markers 106 void DelphesPlotSummary::FillEvent() { //TODO make it faster... try to reuse objects and simply change the values 107 // clear previous markers 108 for(std::map< TString, std::vector<TMarker*> >::iterator mv = eventMarkers_.begin(); mv!=eventMarkers_.end();++mv) { 109 for(std::vector<TMarker*>::iterator m = mv->second.begin(); m<mv->second.end();++m) { 110 delete *m; 111 } 112 } 113 eventMarkers_.clear(); 131 114 for(std::map< TString, std::vector<TH1F*> >::iterator hv = eventProfiles_.begin(); hv!=eventProfiles_.end();++hv) { 132 115 for(std::vector<TH1F*>::iterator h = hv->second.begin(); h<hv->second.end();++h) { 133 (*h)->Reset();116 delete *h; 134 117 } 135 118 } 136 for(std::map< TString, std::vector<TMarker*> >::iterator mv = eventMarkers_.begin(); mv!=eventMarkers_.end();++mv) { 137 for(std::vector<TMarker*>::iterator m = mv->second.begin(); m<mv->second.end();++m) { 138 (*m)->SetMarkerSize(0); 139 } 140 } 119 eventProfiles_.clear(); 141 120 // loop over the elements and fill markers with event data 121 TMarker *m; 142 122 for(std::vector<DelphesBranchBase*>::iterator element = elements_->begin();element<elements_->end();++element) { 123 std::vector<TMarker*> mv; 143 124 std::vector<TLorentzVector> vectors = (*element)->GetVectors(); 144 125 std::sort(vectors.begin(), vectors.end(), vecsorter); 145 std::vector<TH1F*> hv = eventProfiles_[(*element)->GetName()]; 146 TH1F* h1 = hv[0]; h1->Reset(); 147 TH1F* h2 = hv[1]; h1->Reset(); 148 TH1F* h3 = hv[2]; h1->Reset(); 149 std::vector<TMarker*> mv = eventMarkers_[(*element)->GetName()]; 126 std::vector<TH1F*> histograms = histograms_[(*element)->GetName()]; 127 TH1F* h1 = (TH1F*)histograms[0]->Clone(); h1->Reset(); h1->SetLineColor(kBlue); 128 TH1F* h2 = (TH1F*)histograms[1]->Clone(); h2->Reset(); h2->SetLineColor(kBlue); 129 TH1F* h3 = (TH1F*)histograms[2]->Clone(); h3->Reset(); h3->SetLineColor(kBlue); 150 130 for(std::vector<TLorentzVector>::iterator it=vectors.begin(); it<vectors.end();++it) { 151 131 h1->Fill(it->Pt()); … … 153 133 h3->Fill(it->Phi()); 154 134 if(it==vectors.begin()) { 155 mv[0]->SetX(it->Pt()); mv[0]->SetMarkerSize(3); 156 mv[1]->SetX(it->Eta()); mv[1]->SetMarkerSize(3); 157 mv[2]->SetX(it->Phi()); mv[2]->SetMarkerSize(3); 135 m = new TMarker(it->Pt(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 136 mv.push_back(m); 137 m = new TMarker(it->Eta(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 138 mv.push_back(m); 139 m = new TMarker(it->Phi(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 140 mv.push_back(m); 158 141 } 159 142 if(it==vectors.begin()+1) { 160 mv[3]->SetX(it->Pt()); mv[3]->SetMarkerSize(3); 161 mv[4]->SetX(it->Eta()); mv[4]->SetMarkerSize(3); 162 mv[5]->SetX(it->Phi()); mv[5]->SetMarkerSize(3); 143 m = new TMarker(it->Pt(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 144 mv.push_back(m); 145 m = new TMarker(it->Eta(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 146 mv.push_back(m); 147 m = new TMarker(it->Phi(),0,29); m->SetMarkerColor(kBlue); m->SetMarkerSize(3); 148 mv.push_back(m); 163 149 } 164 150 } 151 std::vector<TH1F*> hv; 152 hv.push_back(h1); 153 hv.push_back(h2); 154 hv.push_back(h3); 155 eventProfiles_[(*element)->GetName()] = hv; 156 eventMarkers_[(*element)->GetName()] = mv; 165 157 } 166 158 }
Note:
See TracChangeset
for help on using the changeset viewer.