ATLAS Offline Software
Loading...
Searching...
No Matches
zbeam Class Reference

#include <zbeam.h>

Collaboration diagram for zbeam:

Public Member Functions

 zbeam (const std::vector< std::pair< int, double > > &refz, const std::vector< std::pair< int, double > > &testz)
virtual ~zbeam ()

Detailed Description

Definition at line 24 of file zbeam.h.

Constructor & Destructor Documentation

◆ zbeam()

zbeam::zbeam ( const std::vector< std::pair< int, double > > & refz,
const std::vector< std::pair< int, double > > & testz )
inline

Definition at line 28 of file zbeam.h.

29 {
30
31 if ( refz.size()!=testz.size() || refz.size()==0 ) return;
32
33 double min_ = refz.back().first;
34 double max_ = refz[0].first;
35
36 for ( unsigned i=refz.size() ; i-- ; ) if ( refz[i].first>max_ ) max_ = refz[i].first;
37 for ( unsigned i=0 ; i<refz.size() ; i++ ) if ( refz[i].first<min_ ) min_ = refz[i].first;
38
39 double minz = refz.back().second;
40 double maxz = minz;
41
42 for ( unsigned i=refz.size() ; i-- ; ) {
43 if ( refz[i].second<minz ) minz = refz[i].second;
44 if ( testz[i].second<minz ) minz = testz[i].second;
45 if ( refz[i].second>maxz ) maxz = refz[i].second;
46 if ( testz[i].second>maxz ) maxz = testz[i].second;
47 }
48
49 double dz = maxz-minz;
50
51 gStyle->SetOptStat(0);
52
53 TProfile* hr = new TProfile( "refz", ";lumi block;z reference [mm]", max_-min_+1, min_-0.5, max_+0.5 );
54 TProfile* ht = new TProfile( "testz", ";lumi block;z reference [mm]", max_-min_+1, min_-0.5, max_+0.5 );
55
56 TH1D* h = new TH1D("zres", ";#Delta z [mm]", 100, -10, 10 );
57
58 TH2D* h2 = new TH2D( "zcor", ";z ref [mm]; ztest [mm]", 20, minz, maxz, 20, minz, maxz );
59
60 for ( unsigned i=refz.size() ; i-- ; ) {
61 hr->Fill( refz[i].first, refz[i].second );
62 ht->Fill( testz[i].first, testz[i].second );
63
64 h->Fill( testz[i].second-refz[i].second );
65
66 h2->Fill( refz[i].second, testz[i].second );
67 }
68
69 hr->SetMarkerColor(kRed);
70 hr->SetLineColor(kRed);
71
72 hr->SetMarkerStyle(24);
73 ht->SetMarkerStyle(20);
74
75 hr->SetMarkerSize(0.5);
76 ht->SetMarkerSize(0.5);
77
78 hr->SetMaximum( maxz+dz/10 );
79 hr->SetMinimum( minz-dz/10 );
80
81 hr->DrawCopy();
82 ht->DrawCopy("same");
83
84 gPad->Print( "zbeam.pdf");
85
86 h->DrawCopy();
87
88 gPad->Print( "zbeam-res.pdf" );
89
90
91 h2->DrawCopy( "colz" );
92 gPad->Print( "zbeam-cor.pdf" );
93
94 TFile f( "zbeam.root", "recreate" );
95 h->Write();
96 hr->Write();
97 ht->Write();
98 h2->Write();
99 f.Close();
100
101 delete hr;
102 delete ht;
103
104 delete h;
105
106 }

◆ ~zbeam()

virtual zbeam::~zbeam ( )
inlinevirtual

Definition at line 108 of file zbeam.h.

108{ }

The documentation for this class was generated from the following file: