ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <stdio.h>
#include <TFile.h>
#include <TCanvas.h>
#include <TH2F.h>
#include <TH1F.h>
#include <TF1.h>
#include <TDatabasePDG.h>
#include <TRandom.h>
#include <TStopwatch.h>
#include "AliFastGlauber.h"
#include "AliFastMuonTrackingRes.h"
#include "AliFastMuonTrackingAcc.h"
#include "AliFastMuonTrackingEff.h"
#include "AliFastMuonTriggerEff.h"
#endif

void uncorrBg(Int_t nev = 1000000, Double_t bmin = 0., Double_t bmax = 5.)
{
//
//
//
    AliFastGlauber*  glauber = new AliFastGlauber();
    glauber->Init(1);
    
    Float_t lumi   = 5.e26;   // cm^-2 s^-1
    Float_t time   = 1.e6;    // s
    Float_t rate   = lumi/1.e27 * glauber->CrossSection(bmin, bmax); // Hz
    Float_t fhard  = glauber->FractionOfHardCrossSection(bmin, bmax);
    Float_t fgeo   = glauber->CrossSection(bmin, bmax) / glauber->CrossSection(0, 100.);
    Float_t events = rate * time;

    printf("-------------------------------------------------------------------\n");
    printf("Impact parameter range: %10.3f - %10.3f fm \n", bmin, bmax);
    printf("Luminosity: %10.3e cm^-2 s^-1 \n", lumi);
    printf("Rate: %10.3f Hz\n", rate);
    printf("Fraction of hard  cross-section: %10.3f \n", fhard * 100.);
    printf("Fraction of geom. cross-section: %10.3f \n", fgeo  * 100.);
    printf("Events in 10^6 s: %10.3e \n", events);
    printf("-------------------------------------------------------------------\n");

//
//    
    Float_t ptMinCut  = 3.;     // GeV
    Float_t etamin    = 2.543;
    Float_t etar      = 1.457;
    Float_t ptUp      = 20.;    // GeV
    Float_t dpt       = 0.01;   // GeV
//    
//  For b = 0
//  (factor 1.28 to scale from 10% most central to b=0)
//
    Float_t aGlauber = 208. * 208. * 7.03e-4;    // 1/mb
    
    Float_t scaleC0 = aGlauber * ptUp / dpt;
    Float_t scaleB0 = aGlauber * ptUp / dpt;
    Float_t scaleD0 = 1.28 * etar * ptUp / 1.35; // scaled by 1.35 to match ALICE-INT-2002-6
    
//
//
//  Fast response
//    
    AliFastMuonTriggerEff  *trigeff = new AliFastMuonTriggerEff();
    AliFastMuonTrackingAcc *acc     = new AliFastMuonTrackingAcc();
    AliFastMuonTrackingEff *eff     = new AliFastMuonTrackingEff();
    AliFastMuonTrackingRes *res     = new AliFastMuonTrackingRes();
    acc->SetBackground(1.);
    eff->SetBackground(1.);
    res->SetBackground(1.);  

    acc    ->Init(); 
    eff    ->Init(); 
    res    ->Init(); 
    trigeff->Init();
    
/*
//  To be improved
//
    AliFastDetector* tracker = new AliFastDetector("Tracker", "Muon Tracker");
    tracker->AddResponse(acc);
    tracker->AddResponse(eff);
    tracker->AddResponse(res);

    AliFastDetector* trigger = new AliFastDetector("Trigger", "Muon Trigger");
    trigger->AddResponse(trigeff);

    AliFastDetector* spectro = new AliFastDetector("Spectro", "Muon Spectrometer");
    spectro->AddSubdetector(tracker, "");
    spectro->AddSubdetector(trigger, "");    
    spectro->Init();
*/
	    
//
//  Heavy Flavors
//
    
    TF1*  ptBBLf = new TF1("ptBBLf", "[0] * x / (1. + (x/[1])**2)**[2]", 0., 3.);
    ptBBLf->SetParameter(0, 4.390e-05);
    ptBBLf->SetParameter(1, 1.8706);
    ptBBLf->SetParameter(2, 2.6623);

    TF1*  ptBBHf = new TF1("ptBBHf", "[0] * x / (1. + (x/[1])**2)**[2]", 3., ptUp);
    ptBBHf->SetParameter(0, 2.5329e-05);
    ptBBHf->SetParameter(1, 2.6067);
    ptBBHf->SetParameter(2, 3.3821);

    TF1*  ptCCHf = new TF1("ptCCHf", "[0] * x / (1. + (x/[1])**2)**([2] + [3] * x)", 1.5, ptUp);
    ptCCHf->SetParameter(0, 4.8234e-03);
    ptCCHf->SetParameter(1, 7.5656e-01);
    ptCCHf->SetParameter(2, 2.7707e+00);
    ptCCHf->SetParameter(3, 2.3362e-02);

    TF1*  ptCCLf = new TF1("ptCCLf", "[0] * x / (1. + (x/[1])**2)**([2] + [3] * x)", 0., 1.5);
    ptCCLf->SetParameter(0, 1.190e-02);
    ptCCLf->SetParameter(1, 3.6343e-01);
    ptCCLf->SetParameter(2, 1.4689e+00);
    ptCCLf->SetParameter(3, 2.5772e-01);
    
    TF1*  ptBf = new TF1("ptBf", "[0] * x / (1. + (x/[1])**2)**[2]", 0., ptUp);
    ptBf->SetParameter(0, 1.e5 * 0.7 * 1.125);
    ptBf->SetParameter(1, 6.27);
    ptBf->SetParameter(2, 3.2);
//
//  pi/K -> mu
//
    TFile* f = new TFile("$(ALICE_ROOT)/FASTSIM/data/pikmu.root");
    TH2F*  etaptPiK = (TH2F*) f->Get("etaptH");
    TAxis* etaAxis  = etaptPiK->GetXaxis();
    TAxis* ptAxis   = etaptPiK->GetYaxis();    
//
//
// Book histograms
    TH1F* massBBH = new TH1F("massBBH", "Mass Spectrum: b-b        ", 150, 0., 15.);
    TH1F* massCCH = new TH1F("massCCH", "Mass Spectrum: c-c        ", 150, 0., 15.);
    TH1F* massBCH = new TH1F("massBCH", "Mass Spectrum: b-c        ", 150, 0., 15.);
    TH1F* massDDH = new TH1F("massDDH", "Mass Spectrum: decay-decay", 150, 0., 15.);
    TH1F* massBDH = new TH1F("massBDH", "Mass Spectrum: decay-b    ", 150, 0., 15.);
    TH1F* massCDH = new TH1F("massCDH", "Mass Spectrum: decay-c    ", 150, 0., 15.);    
    TH1F* ptCH    = new TH1F("ptCH", "pt Spectrum mu from c",          20, 0., 10.);    
    TH1F* ptBH    = new TH1F("ptBH", "pt Spectrum mu from b",          20, 0., 10.);    
    TH1F* ptDH    = new TH1F("ptDH", "pt Spectrum mu from pi/K",       20, 0., 10.);    
    TH1F* ptBH2   = new TH1F("ptBH2", "pt Spectrum mu from b",         20, 0., 10.);    
    TH1F* costBBH = new TH1F("costBBH", "cos theta*    ", 20, -1, 1.);    
//
// Event Loop
//
    Int_t iev;
    for (iev = 0; iev < nev; iev++) {
//
//  Collision geometry
//
	Float_t b;
	b = glauber->GetRandomImpactParameter(bmin, bmax);
	Double_t nbinary = glauber->Binaries(b);
	Float_t  scaleC  = scaleC0 * nbinary;
	Float_t  scaleB  = scaleB0 * nbinary;
	Float_t  scaleD  = scaleD0 * nbinary;
//
// pT
	Float_t pT1 = ptUp * gRandom->Rndm();
	Float_t pT2 = ptUp * gRandom->Rndm();
//
// phi
	Float_t phi1 = 2. * TMath::Pi() * gRandom->Rndm() - TMath::Pi();
	Float_t phi2 = 2. * TMath::Pi() * gRandom->Rndm() - TMath::Pi();
	Float_t dphi = phi1 - phi2;
//
// eta
	Float_t eta1 = etar * gRandom->Rndm() + etamin;
	Float_t eta2 = etar * gRandom->Rndm() + etamin;	
	Float_t deta = eta1 - eta2;
//
// invariant mass
	Float_t m2   = 2. * pT1 * pT2 * (TMath::CosH(deta) - TMath::Cos(dphi));
	Float_t m    = TMath::Sqrt(m2);
	Float_t mt2  = pT1 * pT1 + pT2 * pT2 + 2. * pT1 * pT2 * TMath::CosH(deta);
	Float_t mt   = TMath::Sqrt(mt2);
	Float_t cost = 2. * pT1 * pT2 * TMath::SinH(deta) / m / mt;  

//
// Smearing (to be improved)
	Float_t dm = m * 0.01;
	m += gRandom->Gaus(0., dm);	
//
// Weights
//
//      Heavy Flavour
//
	Int_t ibin;
	Float_t wgtB1, wgtB2;
	Float_t wgtC1, wgtC2;

	if (pT1 > 1.5) {
	    wgtC1 = ptCCHf->Eval(pT1) * scaleC;
	} else {
	    wgtC1 = ptCCLf->Eval(pT1) * scaleC;
	}
	if (pT2 > 1.5) {
	    wgtC2 = ptCCHf->Eval(pT2) * scaleC;
	} else {
	    wgtC2 = ptCCLf->Eval(pT2) * scaleC;
	}


	if (pT1 > 3.) {
	    wgtB1 = ptBBHf->Eval(pT1) * scaleB;
	} else {
	    wgtB1 = ptBBLf->Eval(pT1) * scaleB;
	}
	if (pT2 > 3.) {
	    wgtB2 = ptBBHf->Eval(pT2) * scaleB;
	} else {
	    wgtB2 = ptBBLf->Eval(pT2) * scaleB;
	}


//
//      Weight  for decays
//
	Int_t etaBin, ptBin;
	Float_t wgtD1, wgtD2;
	
	etaBin = etaAxis->FindBin(eta1);
	ptBin  = ptAxis ->FindBin(pT1);	
	wgtD1  = etaptPiK->GetBinContent(etaBin, ptBin) * scaleD;
	
	etaBin = etaAxis->FindBin(eta2);
	ptBin  = ptAxis ->FindBin(pT2);	
	wgtD2  = etaptPiK->GetBinContent(etaBin, ptBin) * scaleD;
	
//
//      Efficiencies
//	
	Float_t theta1 = 2. * TMath::ATan(TMath::Exp(-eta1)) * 180./TMath::Pi();
	Float_t theta2 = 2. * TMath::ATan(TMath::Exp(-eta2)) * 180./TMath::Pi();
	Float_t phid1  = phi1 * 180./TMath::Pi();
	Float_t phid2  = phi2 * 180./TMath::Pi();
	Float_t p1     = pT1/TMath::Sin(theta1 * TMath::Pi()/180.);
	Float_t p2     = pT2/TMath::Sin(theta2 * TMath::Pi()/180.);
	
	res->SetCharge(1);
	eff->SetCharge(1);
	acc->SetCharge(1);
	Float_t eff1  = eff->Evaluate(pT1, theta1, phid1);
	Float_t acc1  = acc->Evaluate(pT1, theta1, phid1);
	Float_t tri1  = trigeff->Evaluate(1, pT1, theta1, phid1);
	res->SetCharge(-1);
	eff->SetCharge(-1);
	acc->SetCharge(-1);
	Float_t eff2  = eff->Evaluate(pT2, theta2, phid2);
	Float_t acc2  = acc->Evaluate(pT2, theta2, phid2);
	Float_t tri2  = trigeff->Evaluate(-1, pT2, theta2, phid2);

	Float_t effA   = eff1 * eff2 * acc1 * acc2 * tri1 * tri2;

	Float_t ptMax = pT1;
	Float_t ptMin = pT2;
	if (pT2 > pT1) {
	    ptMax = pT2;
	    ptMin = pT1;
	}
	
	if (ptMin > ptMinCut && p1 > 4. && p2 > 4.) {
	    massBBH->Fill(m, wgtB1 * wgtB2 / 4. * effA);
	    massCCH->Fill(m, wgtC1 * wgtC2 / 4. * effA);
	    massBCH->Fill(m, wgtC1 * wgtB2 / 4. * effA);
	    massBCH->Fill(m, wgtC2 * wgtB1 / 4. * effA);
	    massDDH->Fill(m, wgtD1 * wgtD2 / 4. * effA);
	    massBDH->Fill(m, wgtB1 * wgtD2 / 4. * effA);
	    massBDH->Fill(m, wgtB2 * wgtD1 / 4. * effA);
	    massCDH->Fill(m, wgtC1 * wgtD2 / 4. * effA);
	    massCDH->Fill(m, wgtC2 * wgtD1 / 4. * effA);

	    costBBH->Fill(cost, wgtB1 * wgtB2 / 4. * effA);
	}
	//
	// pT - Spectra
	//
	for (Int_t ipt = 0; ipt < 20; ipt++)
	{
	    Float_t pt = 0.5 * ipt;
	    ptBH2->Fill(pT1, wgtB1);		
	    if (pT1 > pt) {
		ptCH->Fill(pt, wgtC1);
		ptBH->Fill(pt, wgtB1);
		ptDH->Fill(pt, wgtD1);
	    }
	} // bins
    } // event loop

    Float_t evtWgt = events / Float_t(nev);
    
    massBBH->Scale(evtWgt);
    massCCH->Scale(evtWgt);
    massBCH->Scale(evtWgt);
    massDDH->Scale(evtWgt);
    massBDH->Scale(evtWgt);
    massCDH->Scale(evtWgt);
    
    TH1F * massALH = new TH1F(*massCDH);
    massALH->Add(massBDH);
    massALH->Add(massDDH);
    massALH->Add(massBCH);    
    massALH->Add(massCCH);
    massALH->Add(massBBH);     

    TCanvas *c0 = new TCanvas("c0","Canvas 1",400,10,600,700);
    massCCH->SetLineColor(4);
    massCCH->SetMinimum(1.);
    massCCH->SetMaximum(1.e4);
    massCCH->SetXTitle("m_{#mu#mu} [GeV]");
    massCCH->SetYTitle("Entries/100 MeV /10^{6} s");
    massCCH->Draw("");
    massALH->SetLineColor(3);
    massALH->Draw("same");
    massBBH->SetLineColor(6);
    massBBH->Draw("same");

    TCanvas *c2 = new TCanvas("c2","Canvas 3",400,10,600,700);
    massDDH->SetLineColor(2);
    massDDH->SetMinimum(1.e2);
    massDDH->SetMaximum(1.e6);
    massDDH->SetXTitle("m_{#mu#mu} [GeV]");
    massDDH->SetYTitle("Entries/100 MeV /10^{6} s");
    massDDH->Draw("");
    massALH->SetLineColor(3);
    massALH->Draw("same");
    massCCH->SetLineColor(4);
    massCCH->Draw("same");
    massBBH->SetLineColor(6);
    massBBH->Draw("same");

    TCanvas *c3 = new TCanvas("c3","Canvas 4",400,10,600,700);
    ptCH->Scale(1./float(nev));
    ptBH->Scale(1./float(nev));    
    ptDH->Scale(1./float(nev));    
    ptCH->SetLineColor(4);
    ptBH->SetLineColor(6);
    ptDH->SetLineColor(2);
    ptCH->SetXTitle("p_{T}^{min} [GeV]");
    ptCH->SetYTitle("<n>_{#mu}/event");
    
    ptDH->Draw();
    ptBH->Draw("same");
    ptCH->Draw("same");
    TCanvas *c4 = new TCanvas("c4","Canvas 5",400,10,600,700);
    ptBH2->Draw();

    TCanvas *c5 = new TCanvas("c5","Canvas 6",400,10,600,700);
    costBBH->Draw();
 
}
 uncorrBg.C:1
 uncorrBg.C:2
 uncorrBg.C:3
 uncorrBg.C:4
 uncorrBg.C:5
 uncorrBg.C:6
 uncorrBg.C:7
 uncorrBg.C:8
 uncorrBg.C:9
 uncorrBg.C:10
 uncorrBg.C:11
 uncorrBg.C:12
 uncorrBg.C:13
 uncorrBg.C:14
 uncorrBg.C:15
 uncorrBg.C:16
 uncorrBg.C:17
 uncorrBg.C:18
 uncorrBg.C:19
 uncorrBg.C:20
 uncorrBg.C:21
 uncorrBg.C:22
 uncorrBg.C:23
 uncorrBg.C:24
 uncorrBg.C:25
 uncorrBg.C:26
 uncorrBg.C:27
 uncorrBg.C:28
 uncorrBg.C:29
 uncorrBg.C:30
 uncorrBg.C:31
 uncorrBg.C:32
 uncorrBg.C:33
 uncorrBg.C:34
 uncorrBg.C:35
 uncorrBg.C:36
 uncorrBg.C:37
 uncorrBg.C:38
 uncorrBg.C:39
 uncorrBg.C:40
 uncorrBg.C:41
 uncorrBg.C:42
 uncorrBg.C:43
 uncorrBg.C:44
 uncorrBg.C:45
 uncorrBg.C:46
 uncorrBg.C:47
 uncorrBg.C:48
 uncorrBg.C:49
 uncorrBg.C:50
 uncorrBg.C:51
 uncorrBg.C:52
 uncorrBg.C:53
 uncorrBg.C:54
 uncorrBg.C:55
 uncorrBg.C:56
 uncorrBg.C:57
 uncorrBg.C:58
 uncorrBg.C:59
 uncorrBg.C:60
 uncorrBg.C:61
 uncorrBg.C:62
 uncorrBg.C:63
 uncorrBg.C:64
 uncorrBg.C:65
 uncorrBg.C:66
 uncorrBg.C:67
 uncorrBg.C:68
 uncorrBg.C:69
 uncorrBg.C:70
 uncorrBg.C:71
 uncorrBg.C:72
 uncorrBg.C:73
 uncorrBg.C:74
 uncorrBg.C:75
 uncorrBg.C:76
 uncorrBg.C:77
 uncorrBg.C:78
 uncorrBg.C:79
 uncorrBg.C:80
 uncorrBg.C:81
 uncorrBg.C:82
 uncorrBg.C:83
 uncorrBg.C:84
 uncorrBg.C:85
 uncorrBg.C:86
 uncorrBg.C:87
 uncorrBg.C:88
 uncorrBg.C:89
 uncorrBg.C:90
 uncorrBg.C:91
 uncorrBg.C:92
 uncorrBg.C:93
 uncorrBg.C:94
 uncorrBg.C:95
 uncorrBg.C:96
 uncorrBg.C:97
 uncorrBg.C:98
 uncorrBg.C:99
 uncorrBg.C:100
 uncorrBg.C:101
 uncorrBg.C:102
 uncorrBg.C:103
 uncorrBg.C:104
 uncorrBg.C:105
 uncorrBg.C:106
 uncorrBg.C:107
 uncorrBg.C:108
 uncorrBg.C:109
 uncorrBg.C:110
 uncorrBg.C:111
 uncorrBg.C:112
 uncorrBg.C:113
 uncorrBg.C:114
 uncorrBg.C:115
 uncorrBg.C:116
 uncorrBg.C:117
 uncorrBg.C:118
 uncorrBg.C:119
 uncorrBg.C:120
 uncorrBg.C:121
 uncorrBg.C:122
 uncorrBg.C:123
 uncorrBg.C:124
 uncorrBg.C:125
 uncorrBg.C:126
 uncorrBg.C:127
 uncorrBg.C:128
 uncorrBg.C:129
 uncorrBg.C:130
 uncorrBg.C:131
 uncorrBg.C:132
 uncorrBg.C:133
 uncorrBg.C:134
 uncorrBg.C:135
 uncorrBg.C:136
 uncorrBg.C:137
 uncorrBg.C:138
 uncorrBg.C:139
 uncorrBg.C:140
 uncorrBg.C:141
 uncorrBg.C:142
 uncorrBg.C:143
 uncorrBg.C:144
 uncorrBg.C:145
 uncorrBg.C:146
 uncorrBg.C:147
 uncorrBg.C:148
 uncorrBg.C:149
 uncorrBg.C:150
 uncorrBg.C:151
 uncorrBg.C:152
 uncorrBg.C:153
 uncorrBg.C:154
 uncorrBg.C:155
 uncorrBg.C:156
 uncorrBg.C:157
 uncorrBg.C:158
 uncorrBg.C:159
 uncorrBg.C:160
 uncorrBg.C:161
 uncorrBg.C:162
 uncorrBg.C:163
 uncorrBg.C:164
 uncorrBg.C:165
 uncorrBg.C:166
 uncorrBg.C:167
 uncorrBg.C:168
 uncorrBg.C:169
 uncorrBg.C:170
 uncorrBg.C:171
 uncorrBg.C:172
 uncorrBg.C:173
 uncorrBg.C:174
 uncorrBg.C:175
 uncorrBg.C:176
 uncorrBg.C:177
 uncorrBg.C:178
 uncorrBg.C:179
 uncorrBg.C:180
 uncorrBg.C:181
 uncorrBg.C:182
 uncorrBg.C:183
 uncorrBg.C:184
 uncorrBg.C:185
 uncorrBg.C:186
 uncorrBg.C:187
 uncorrBg.C:188
 uncorrBg.C:189
 uncorrBg.C:190
 uncorrBg.C:191
 uncorrBg.C:192
 uncorrBg.C:193
 uncorrBg.C:194
 uncorrBg.C:195
 uncorrBg.C:196
 uncorrBg.C:197
 uncorrBg.C:198
 uncorrBg.C:199
 uncorrBg.C:200
 uncorrBg.C:201
 uncorrBg.C:202
 uncorrBg.C:203
 uncorrBg.C:204
 uncorrBg.C:205
 uncorrBg.C:206
 uncorrBg.C:207
 uncorrBg.C:208
 uncorrBg.C:209
 uncorrBg.C:210
 uncorrBg.C:211
 uncorrBg.C:212
 uncorrBg.C:213
 uncorrBg.C:214
 uncorrBg.C:215
 uncorrBg.C:216
 uncorrBg.C:217
 uncorrBg.C:218
 uncorrBg.C:219
 uncorrBg.C:220
 uncorrBg.C:221
 uncorrBg.C:222
 uncorrBg.C:223
 uncorrBg.C:224
 uncorrBg.C:225
 uncorrBg.C:226
 uncorrBg.C:227
 uncorrBg.C:228
 uncorrBg.C:229
 uncorrBg.C:230
 uncorrBg.C:231
 uncorrBg.C:232
 uncorrBg.C:233
 uncorrBg.C:234
 uncorrBg.C:235
 uncorrBg.C:236
 uncorrBg.C:237
 uncorrBg.C:238
 uncorrBg.C:239
 uncorrBg.C:240
 uncorrBg.C:241
 uncorrBg.C:242
 uncorrBg.C:243
 uncorrBg.C:244
 uncorrBg.C:245
 uncorrBg.C:246
 uncorrBg.C:247
 uncorrBg.C:248
 uncorrBg.C:249
 uncorrBg.C:250
 uncorrBg.C:251
 uncorrBg.C:252
 uncorrBg.C:253
 uncorrBg.C:254
 uncorrBg.C:255
 uncorrBg.C:256
 uncorrBg.C:257
 uncorrBg.C:258
 uncorrBg.C:259
 uncorrBg.C:260
 uncorrBg.C:261
 uncorrBg.C:262
 uncorrBg.C:263
 uncorrBg.C:264
 uncorrBg.C:265
 uncorrBg.C:266
 uncorrBg.C:267
 uncorrBg.C:268
 uncorrBg.C:269
 uncorrBg.C:270
 uncorrBg.C:271
 uncorrBg.C:272
 uncorrBg.C:273
 uncorrBg.C:274
 uncorrBg.C:275
 uncorrBg.C:276
 uncorrBg.C:277
 uncorrBg.C:278
 uncorrBg.C:279
 uncorrBg.C:280
 uncorrBg.C:281
 uncorrBg.C:282
 uncorrBg.C:283
 uncorrBg.C:284
 uncorrBg.C:285
 uncorrBg.C:286
 uncorrBg.C:287
 uncorrBg.C:288
 uncorrBg.C:289
 uncorrBg.C:290
 uncorrBg.C:291
 uncorrBg.C:292
 uncorrBg.C:293
 uncorrBg.C:294
 uncorrBg.C:295
 uncorrBg.C:296
 uncorrBg.C:297
 uncorrBg.C:298
 uncorrBg.C:299
 uncorrBg.C:300
 uncorrBg.C:301
 uncorrBg.C:302
 uncorrBg.C:303
 uncorrBg.C:304
 uncorrBg.C:305
 uncorrBg.C:306
 uncorrBg.C:307
 uncorrBg.C:308
 uncorrBg.C:309
 uncorrBg.C:310
 uncorrBg.C:311
 uncorrBg.C:312
 uncorrBg.C:313
 uncorrBg.C:314
 uncorrBg.C:315
 uncorrBg.C:316
 uncorrBg.C:317
 uncorrBg.C:318
 uncorrBg.C:319
 uncorrBg.C:320
 uncorrBg.C:321
 uncorrBg.C:322
 uncorrBg.C:323
 uncorrBg.C:324
 uncorrBg.C:325
 uncorrBg.C:326
 uncorrBg.C:327
 uncorrBg.C:328
 uncorrBg.C:329
 uncorrBg.C:330
 uncorrBg.C:331
 uncorrBg.C:332
 uncorrBg.C:333
 uncorrBg.C:334
 uncorrBg.C:335
 uncorrBg.C:336
 uncorrBg.C:337
 uncorrBg.C:338
 uncorrBg.C:339
 uncorrBg.C:340
 uncorrBg.C:341
 uncorrBg.C:342
 uncorrBg.C:343
 uncorrBg.C:344
 uncorrBg.C:345
 uncorrBg.C:346
 uncorrBg.C:347
 uncorrBg.C:348
 uncorrBg.C:349
 uncorrBg.C:350
 uncorrBg.C:351
 uncorrBg.C:352
 uncorrBg.C:353