ROOT logo
void testAliGlauberQuenching() {

  AliFastGlauber g;
  g.Init(2);
  g.SetCentralityClass(0.00,0.10); // centrality (fraction of geometrical cross section)

  AliQuenchingWeights afq;
  afq.InitMult();
  afq.SetQTransport(1.);
  afq.SetECMethod(0);
  afq.SetLengthMax(8.);
  afq.SampleEnergyLoss();

  TCanvas *c = new TCanvas("cELD","Energy Loss Distribution",0,0,800,500);
  c->Divide(2,1);

  for(Int_t itype=1;itype<=2;itype++){
    c->cd(itype);
    gPad->SetLogy();
    Char_t name[100];
    Char_t hname[100];
    if(itype==1){
      sprintf(name,"Energy Loss Distribution - Quarks;E_{loss} (GeV);#"); 
      sprintf(hname,"hQuarks"); 
    } else {
      sprintf(name,"Energy Loss Distribution - Gluons;E_{loss} (GeV);#"); 
      sprintf(hname,"hGluons"); 
    }

    TH1F *h = new TH1F(hname,name,100,0,200);

    for(Int_t i=0;i<10000;i++){
      if(i % 100 == 0) cout << "." << flush;
      Double_t ell;
      g.GetLength(ell);
      Double_t loss=afq.GetELossRandom(itype,ell);
      h->Fill(loss);
    }

    h->SetStats(kTRUE);
    if(itype==1){
      h->SetLineColor(1);
      h->DrawCopy();
    }
    else {
      h->SetLineColor(2);
      h->DrawCopy();
    }
    delete h;
  }

  c->Update();
}

// second example using ell distribution
void testFastAliGlauberQuenching(Char_t *fname) {

  TFile f(fname);
  TH1F *hEll=(TH1F*)f.Get("hEll");
  if(!hEll) return;

  AliQuenchingWeights afq;
  afq.InitMult();
  afq.SetQTransport(1.);
  afq.SetECMethod(0);
  afq.SetLengthMax(5.);
  afq.SampleEnergyLoss();

  TCanvas *c = new TCanvas("cELD","Energy Loss Distribution",0,0,800,500);
  c->Divide(2,1);

  for(Int_t itype=1;itype<=2;itype++){
    c->cd(itype);
    gPad->SetLogy();
    Char_t name[200];
    if(itype==1)
      sprintf(name,"Energy Loss Distribution - Quarks;E_{loss} (GeV);#"); 
    else 
      sprintf(name,"Energy Loss Distribution - Gluons;E_{loss} (GeV);#"); 
    Char_t hname[200];
    if(itype==1)
      sprintf(hname,"hQuarks"); 
    else 
      sprintf(hname,"hGluons"); 

    TH1F *h = afq.ComputeELossHisto(itype,1.,hEll);

    h->SetStats(kTRUE);
    if(itype==1){
      h->SetLineColor(1);
      h->DrawCopy();
    }
    else {
      h->SetLineColor(2);
      h->DrawCopy();
    }
    delete h;
  }

  c->Update();
}
 testAliGlauberQuenching.C:1
 testAliGlauberQuenching.C:2
 testAliGlauberQuenching.C:3
 testAliGlauberQuenching.C:4
 testAliGlauberQuenching.C:5
 testAliGlauberQuenching.C:6
 testAliGlauberQuenching.C:7
 testAliGlauberQuenching.C:8
 testAliGlauberQuenching.C:9
 testAliGlauberQuenching.C:10
 testAliGlauberQuenching.C:11
 testAliGlauberQuenching.C:12
 testAliGlauberQuenching.C:13
 testAliGlauberQuenching.C:14
 testAliGlauberQuenching.C:15
 testAliGlauberQuenching.C:16
 testAliGlauberQuenching.C:17
 testAliGlauberQuenching.C:18
 testAliGlauberQuenching.C:19
 testAliGlauberQuenching.C:20
 testAliGlauberQuenching.C:21
 testAliGlauberQuenching.C:22
 testAliGlauberQuenching.C:23
 testAliGlauberQuenching.C:24
 testAliGlauberQuenching.C:25
 testAliGlauberQuenching.C:26
 testAliGlauberQuenching.C:27
 testAliGlauberQuenching.C:28
 testAliGlauberQuenching.C:29
 testAliGlauberQuenching.C:30
 testAliGlauberQuenching.C:31
 testAliGlauberQuenching.C:32
 testAliGlauberQuenching.C:33
 testAliGlauberQuenching.C:34
 testAliGlauberQuenching.C:35
 testAliGlauberQuenching.C:36
 testAliGlauberQuenching.C:37
 testAliGlauberQuenching.C:38
 testAliGlauberQuenching.C:39
 testAliGlauberQuenching.C:40
 testAliGlauberQuenching.C:41
 testAliGlauberQuenching.C:42
 testAliGlauberQuenching.C:43
 testAliGlauberQuenching.C:44
 testAliGlauberQuenching.C:45
 testAliGlauberQuenching.C:46
 testAliGlauberQuenching.C:47
 testAliGlauberQuenching.C:48
 testAliGlauberQuenching.C:49
 testAliGlauberQuenching.C:50
 testAliGlauberQuenching.C:51
 testAliGlauberQuenching.C:52
 testAliGlauberQuenching.C:53
 testAliGlauberQuenching.C:54
 testAliGlauberQuenching.C:55
 testAliGlauberQuenching.C:56
 testAliGlauberQuenching.C:57
 testAliGlauberQuenching.C:58
 testAliGlauberQuenching.C:59
 testAliGlauberQuenching.C:60
 testAliGlauberQuenching.C:61
 testAliGlauberQuenching.C:62
 testAliGlauberQuenching.C:63
 testAliGlauberQuenching.C:64
 testAliGlauberQuenching.C:65
 testAliGlauberQuenching.C:66
 testAliGlauberQuenching.C:67
 testAliGlauberQuenching.C:68
 testAliGlauberQuenching.C:69
 testAliGlauberQuenching.C:70
 testAliGlauberQuenching.C:71
 testAliGlauberQuenching.C:72
 testAliGlauberQuenching.C:73
 testAliGlauberQuenching.C:74
 testAliGlauberQuenching.C:75
 testAliGlauberQuenching.C:76
 testAliGlauberQuenching.C:77
 testAliGlauberQuenching.C:78
 testAliGlauberQuenching.C:79
 testAliGlauberQuenching.C:80
 testAliGlauberQuenching.C:81
 testAliGlauberQuenching.C:82
 testAliGlauberQuenching.C:83
 testAliGlauberQuenching.C:84
 testAliGlauberQuenching.C:85
 testAliGlauberQuenching.C:86
 testAliGlauberQuenching.C:87
 testAliGlauberQuenching.C:88
 testAliGlauberQuenching.C:89
 testAliGlauberQuenching.C:90
 testAliGlauberQuenching.C:91
 testAliGlauberQuenching.C:92
 testAliGlauberQuenching.C:93
 testAliGlauberQuenching.C:94
 testAliGlauberQuenching.C:95
 testAliGlauberQuenching.C:96
 testAliGlauberQuenching.C:97
 testAliGlauberQuenching.C:98
 testAliGlauberQuenching.C:99
 testAliGlauberQuenching.C:100
 testAliGlauberQuenching.C:101
 testAliGlauberQuenching.C:102