25 {
26 max = 0;
27 Ncos = 20;
28 chainMC = new TChain( "mc" );
29 chainDT = new TChain( "data" );
30
31 chainMC->SetDirectory( 0 );
32 chainDT->SetDirectory( 0 );
33
34 chainMC->Add( mcfile );
35 chainDT->Add( datafile );
36
37 chainMC->SetBranchAddress( "costheta1", &costheta1 );
38 chainMC->SetBranchAddress( "costheta2", &costheta2 );
39 chainMC->SetBranchAddress( "costheta3", &costheta3 );
40 chainMC->SetBranchAddress( "m12", &m12 );
41 chainMC->SetBranchAddress( "m13", &m13 );
42 chainMC->SetBranchAddress( "m23", &m23 );
43
44 chainDT->SetBranchAddress( "costheta1", &costheta1 );
45 chainDT->SetBranchAddress( "costheta2", &costheta2 );
46 chainDT->SetBranchAddress( "costheta3", &costheta3 );
47 chainDT->SetBranchAddress( "m12", &m12 );
48 chainDT->SetBranchAddress( "m13", &m13 );
49 chainDT->SetBranchAddress( "m23", &m23 );
50
51 entriesMC = (Int_t)chainMC->GetEntries();
52 entriesDT = (Int_t)chainDT->GetEntries();
53
54 m12_low = chainDT->GetMinimum( "m12" );
55 m13_low = chainDT->GetMinimum( "m13" );
56 m23_low = chainDT->GetMinimum( "m23" );
57
58 m12_up = chainDT->GetMaximum( "m12" );
59 m13_up = chainDT->GetMaximum( "m13" );
60 m23_up = chainDT->GetMaximum( "m23" );
61
63
64 MC1 = new TH2F( "myMC1", "", Ncos, -1.0, 1.0, ny, m23_low, m23_up );
65 MC2 = new TH2F( "myMC2", "", Ncos, -1.0, 1.0, ny, m13_low, m13_up );
66 MC3 = new TH2F( "myMC3", "", Ncos, -1.0, 1.0, ny, m12_low, m12_up );
67
68 DT1 = new TH2F( "myDT1", "", Ncos, -1.0, 1.0, ny, m23_low, m23_up );
69 DT2 = new TH2F( "myDT2", "", Ncos, -1.0, 1.0, ny, m13_low, m13_up );
70 DT3 = new TH2F( "myDT3", "", Ncos, -1.0, 1.0, ny, m12_low, m12_up );
71
72 WT1 = new TH2F( "myWT1", "", Ncos, -1.0, 1.0, ny, m23_low, m23_up );
73 WT2 = new TH2F( "myWT2", "", Ncos, -1.0, 1.0, ny, m13_low, m13_up );
74 WT3 = new TH2F( "myWT3", "", Ncos, -1.0, 1.0, ny, m12_low, m12_up );
75
76 MC1->SetDirectory( 0 );
77 MC2->SetDirectory( 0 );
78 MC3->SetDirectory( 0 );
79
80 DT1->SetDirectory( 0 );
81 DT2->SetDirectory( 0 );
82 DT3->SetDirectory( 0 );
83
84 WT1->SetDirectory( 0 );
85 WT2->SetDirectory( 0 );
86 WT3->SetDirectory( 0 );
87
88
89 for ( Int_t j = 0; j < entriesMC; j++ )
90 {
91 chainMC->GetEntry( j );
92 MC1->Fill( costheta1, m23 );
93 MC2->Fill( costheta2, m13 );
94 MC3->Fill( costheta3, m12 );
95 }
96
97
98 for ( Int_t j = 0; j < entriesDT; j++ )
99 {
100 chainDT->GetEntry( j );
101 DT1->Fill( costheta1, m23 );
102 DT2->Fill( costheta2, m13 );
103 DT3->Fill( costheta3, m12 );
104 }
105
106
107
108
109
113
117
121
122
123
124
125
126
127
128
129
130
131}
int calculateBins(int entries)