ROOT logo
void DrawPTResol(){
  //
  // Example macro to create the 1/pt resolution plot for Marek
  //
  TFile * f = TFile::Open("Filtered.root");
  TTree * treePt= (TTree*)f->Get("highPt");
  //
  //
  // 
  TCut cutNcl = "esdTrack.GetTPCClusterInfo(3,1)>120&&esdTrack.fITSncls>4";
  TH2 *phis1PtPt[3]={0};
  TH1 *his1PtPtRes[3]={0};
  TObjArray  * fitArray = new TObjArray(3);
  //
  //
  treePt->Draw("abs(esdTrack.fP[4])-1/particle.Pt():1/particle.Pt()>>his1Pt1Pt(20,0,0.5,100,-0.01,0.01)",cutNcl,"colz");
  phis1PtPt[0] = (TH2*)treePt->GetHistogram()->Clone();
  phis1PtPt[0]->FitSlicesY(0,0,-1,0,"QNR",fitArray);
  his1PtPtRes[0]=(TH1*)fitArray->At(2)->Clone();
  //
  his1PtPtRes[0]->Draw();
}


void DrawMatchingEffiency(){
  //
  // problem with ITS simulation looks like
  //
  TFile * f = TFile::Open("Filtered.root");  
  TTree * treePt= (TTree*)f->Get("highPt");
  treePt->SetAlias("ITSrefit","(esdTrack.fFlags&0x4)!=0");
  //
  //
  TCut cutNcl = "esdTrack.GetTPCClusterInfo(3,1)>120&&abs(esdTrack.fP[3])<0.9"; 
  TCut cutPileUp = "abs(particle.fVt)<0.000000001&&abs(esdTrack.fP[1])<15"; 
  TCut cutFindable = "particle.R()<0.2&&nrefITS>5"; 
  treePt->Draw("ITSrefit:1/particle.Pt()>>hisMatching(20,0,2)",cutNcl+cutPileUp+cutFindable,"prof");
}




void DrawMatchingEffiency(){
  //
  //
  //  
  TCut cutNcl = "esdTrack.GetTPCClusterInfo(3,1)>120&&abs(esdTrack.fP[3])<0.9"; 
  TCut cutPileUp = "abs(particle.fVt)<0.000000001"; 
  TCut cutFindable = "particle.R()<0.2&&tpcTrackLength"; 
  TCut cutBug="abs(vtxESD.fPosition[2]-particle.fVz)<0.01";  // fix the bug after  
  //
  //
  TChain* chains[20]={0};
  TProfile * hefFindable[20]={0};
  chains[0]=AliXRDPROOFtoolkit::MakeChain("pileup_4.list","MCEffTree",0,1000,0);
  chains[1]=0;
  //
  chains[2]=AliXRDPROOFtoolkit::MakeChain("pileup_6.list","MCEffTree",0,1000,0);
  chains[3]=AliXRDPROOFtoolkit::MakeChain("pileup_6_gem.list","MCEffTree",0,1000,0);
  //
  chains[4]=AliXRDPROOFtoolkit::MakeChain("pileup_8.list","MCEffTree",0,1000,0);
  //
  chains[6]=AliXRDPROOFtoolkit::MakeChain("pileup_10.list","MCEffTree",0,1000,0);
  chains[7]=AliXRDPROOFtoolkit::MakeChain("pileup_10_gem.list","MCEffTree",0,1000,0);
  //
  //  
  TFile *fhisto = TFile::Open("histoEff.root","update");
  for (Int_t ihis=0;ihis<20; ihis++){
    if (!chains[ihis]) continue;
    char hname[1000];
    snprintf(hname,100,"EffFindable_%d_%d",ihis%2,((ihis/2)+2)*2);
    printf("%d\t%s\n",ihis,hname);
    //
    hefFindable[ihis] = (TProfile*)fhisto->Get(hname);
    if (!hefFindable[ihis]){
      chains[ihis]->SetMarkerStyle(25);    
      chains[ihis]->SetCacheSize(1000000000);
      chains[ihis]->Draw("isRec:1/particle.Pt()>>his(10,0,4)",cutPileUp+cutFindable+cutBug,"prof");
      hefFindable[ihis]=(TProfile*)(chains[ihis]->GetHistogram()->Clone());
      hefFindable[ihis]->SetName(hname);
      fhisto->cd();
      hefFindable[ihis]->Write(hname);
    }
  }

  TLegend * legend = new TLegend(0.11,0.11,0.5,0.4,"TPC Efficiency for findable tracks");
  for (Int_t ihis=0; ihis<20; ihis++){
    if (hefFindable[ihis]==0) continue;
    hefFindable[ihis]->GetXaxis()->SetTitle("1/p_{T}");
    hefFindable[ihis]->GetYaxis()->SetTitle("#epsilon");
    hefFindable[ihis]->SetMinimum(0.85);
    hefFindable[ihis]->SetMaximum(1.01);
    if (ihis%2==0) hefFindable[ihis]->SetMarkerStyle(21);
    if (ihis%2==1) hefFindable[ihis]->SetMarkerStyle(25);
    hefFindable[ihis]->SetMarkerColor(1+ihis/2);    
    if (ihis==0) hefFindable[ihis]->Draw();
    hefFindable[ihis]->Draw("same");
    legend->AddEntry(hefFindable[ihis],Form("GEM%d Pileup%d",ihis%2,((ihis/2)+2)*2));
  }
  legend->Draw();

  
}


/*
 for a in `ls -d /hera/alice/mkowalsk/alice/simulations/gas/pileup*/`; do 
   echo $a; 
   dname=`basename $a`;
   ls $a/Filtered/*/F*.root > $dname.list
 done;


  

*/
 HighPtFiltered.C:1
 HighPtFiltered.C:2
 HighPtFiltered.C:3
 HighPtFiltered.C:4
 HighPtFiltered.C:5
 HighPtFiltered.C:6
 HighPtFiltered.C:7
 HighPtFiltered.C:8
 HighPtFiltered.C:9
 HighPtFiltered.C:10
 HighPtFiltered.C:11
 HighPtFiltered.C:12
 HighPtFiltered.C:13
 HighPtFiltered.C:14
 HighPtFiltered.C:15
 HighPtFiltered.C:16
 HighPtFiltered.C:17
 HighPtFiltered.C:18
 HighPtFiltered.C:19
 HighPtFiltered.C:20
 HighPtFiltered.C:21
 HighPtFiltered.C:22
 HighPtFiltered.C:23
 HighPtFiltered.C:24
 HighPtFiltered.C:25
 HighPtFiltered.C:26
 HighPtFiltered.C:27
 HighPtFiltered.C:28
 HighPtFiltered.C:29
 HighPtFiltered.C:30
 HighPtFiltered.C:31
 HighPtFiltered.C:32
 HighPtFiltered.C:33
 HighPtFiltered.C:34
 HighPtFiltered.C:35
 HighPtFiltered.C:36
 HighPtFiltered.C:37
 HighPtFiltered.C:38
 HighPtFiltered.C:39
 HighPtFiltered.C:40
 HighPtFiltered.C:41
 HighPtFiltered.C:42
 HighPtFiltered.C:43
 HighPtFiltered.C:44
 HighPtFiltered.C:45
 HighPtFiltered.C:46
 HighPtFiltered.C:47
 HighPtFiltered.C:48
 HighPtFiltered.C:49
 HighPtFiltered.C:50
 HighPtFiltered.C:51
 HighPtFiltered.C:52
 HighPtFiltered.C:53
 HighPtFiltered.C:54
 HighPtFiltered.C:55
 HighPtFiltered.C:56
 HighPtFiltered.C:57
 HighPtFiltered.C:58
 HighPtFiltered.C:59
 HighPtFiltered.C:60
 HighPtFiltered.C:61
 HighPtFiltered.C:62
 HighPtFiltered.C:63
 HighPtFiltered.C:64
 HighPtFiltered.C:65
 HighPtFiltered.C:66
 HighPtFiltered.C:67
 HighPtFiltered.C:68
 HighPtFiltered.C:69
 HighPtFiltered.C:70
 HighPtFiltered.C:71
 HighPtFiltered.C:72
 HighPtFiltered.C:73
 HighPtFiltered.C:74
 HighPtFiltered.C:75
 HighPtFiltered.C:76
 HighPtFiltered.C:77
 HighPtFiltered.C:78
 HighPtFiltered.C:79
 HighPtFiltered.C:80
 HighPtFiltered.C:81
 HighPtFiltered.C:82
 HighPtFiltered.C:83
 HighPtFiltered.C:84
 HighPtFiltered.C:85
 HighPtFiltered.C:86
 HighPtFiltered.C:87
 HighPtFiltered.C:88
 HighPtFiltered.C:89
 HighPtFiltered.C:90
 HighPtFiltered.C:91
 HighPtFiltered.C:92
 HighPtFiltered.C:93
 HighPtFiltered.C:94
 HighPtFiltered.C:95
 HighPtFiltered.C:96
 HighPtFiltered.C:97
 HighPtFiltered.C:98
 HighPtFiltered.C:99
 HighPtFiltered.C:100
 HighPtFiltered.C:101
 HighPtFiltered.C:102
 HighPtFiltered.C:103
 HighPtFiltered.C:104
 HighPtFiltered.C:105
 HighPtFiltered.C:106
 HighPtFiltered.C:107
 HighPtFiltered.C:108
 HighPtFiltered.C:109
 HighPtFiltered.C:110
 HighPtFiltered.C:111
 HighPtFiltered.C:112
 HighPtFiltered.C:113
 HighPtFiltered.C:114
 HighPtFiltered.C:115
 HighPtFiltered.C:116
 HighPtFiltered.C:117