]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/TestAnalisys.C
doxy: all TPC root converted
[u/mrichter/AliRoot.git] / TPC / TestAnalisys.C
index 172725198c7e3d001292cfd89630a693085f4034..447573d497cb88179ad7282845e3137f6775f8f1 100644 (file)
@@ -1,10 +1,12 @@
-/*
- .L AliGenInfo.C+
- .L TestAnalisys.C+
- AddChains(868);    // AddChains(runNumber);
-  Select();          // make default selection of data
-  MakePictures("pic868");
-*/
+/// \file TestAnalisys.C
+///
+/// ~~~{.cxx}
+/// .L AliGenInfo.C+
+/// .L TestAnalisys.C+
+/// AddChains(868);    // AddChains(runNumber);
+///  Select();          // make default selection of data
+///  MakePictures("pic868");
+/// ~~~
 
 #include "TFile.h"
 #include "TTree.h"
@@ -28,7 +30,7 @@
 #include "AliTrackReference.h"
 #include "AliTPCParam.h"
 #include "AliDetector.h"
-#include "AliStack.h"
+#include "AliStack.h" 
 #include "AliGenInfo.h"
 
 
@@ -49,7 +51,7 @@ void P3Z(TCut cut0, TCut cut1,  char * description);
 void ResYZ(TCut cut0, TCut cut1,  char * description);
 void SysYX(TCut cut0,  char * description);
 void SysZX(TCut cut0,  char * description);
-//
+
 TProfile * ProfileMaxRow(TCut cut0, char *name, Int_t max);
 TProfile * ProfileMaxPhi(TCut cut0, char *name, Int_t max);
 TProfile * ProfileMaxZ(TCut cut0, char *name, Int_t max);
@@ -85,10 +87,8 @@ TEventList * listFitPed    = new TEventList("listFitPed","listFitPed");
 
 
 void MakePictures(char *dirname){
-  //
-  //
-  //
-  // Define Uli Style
+  /// Define Uli Style
+
   gROOT->SetStyle("Plain");
   gStyle->SetFillColor(10);
   gStyle->SetPadColor(10);
@@ -251,9 +251,8 @@ void MakePictures(char *dirname){
 
 
 void AddChains(Int_t run){
-  //
-  // add files to the chains + check consistency
-  //
+  /// add files to the chains + check consistency
+
   ifstream in0;
   ifstream in1;
   ifstream in2;
@@ -264,9 +263,9 @@ void AddChains(Int_t run){
   runDesc+=run;
   // TPC tracks
   //
-  sprintf(strcl,"ls  run%d*/TPCtracks.root > /tmp/files.txt", run);
+  sprintf(strcl,"ls  *%d*/TPCtracks.root > files.txt", run);
   gSystem->Exec(strcl);
-  in0.open("/tmp/files.txt");
+  in0.open("files.txt");
   for (;in0>>sfile;){
     if (sfile.Length()==0) break;
     printf("%s\n",sfile.Data());
@@ -279,9 +278,9 @@ void AddChains(Int_t run){
   }
   //
   // Fitted signals
-  sprintf(strcl,"ls  run%d*/FitSignal.root > /tmp/files.txt", run);
+  sprintf(strcl,"ls  *%d*/FitSignal.root > files.txt", run);
   gSystem->Exec(strcl);
-  in1.open("/tmp/files.txt");
+  in1.open("files.txt");
   for (;in1>>sfile;){
     if (sfile.Length()==0) break;
     printf("%s\n",sfile.Data()); 
@@ -294,9 +293,9 @@ void AddChains(Int_t run){
   }
   //
   // Fitted pedestal
-  sprintf(strcl,"ls  run%d*/TPCsignal.root > /tmp/files.txt", run);
+  sprintf(strcl,"ls  *%d*/TPCsignal.root > files.txt", run);
   gSystem->Exec(strcl);
-  in2.open("/tmp/files.txt");
+  in2.open("files.txt");
   for (;in2>>sfile;){
     if (sfile.Length()==0) break;
     printf("%s\n",sfile.Data());
@@ -310,9 +309,9 @@ void AddChains(Int_t run){
   }
   //
   // Random signals
-  sprintf(strcl,"ls  run%d*/TPCsignal.root > /tmp/files.txt", run);
+  sprintf(strcl,"ls  *%d*/TPCsignal.root > files.txt", run);
   gSystem->Exec(strcl);
-  in4.open("/tmp/files.txt");
+  in4.open("files.txt");
   for (;in4>>sfile;){
     if (sfile.Length()==0) break;
     printf("%s\n",sfile.Data());
@@ -328,9 +327,9 @@ void AddChains(Int_t run){
   // Rec points trees
   //
   printf("\n IMPORT REC points");
-  sprintf(strcl,"ls  run%d*/*RecPoints* > /tmp/files.txt", run);
+  sprintf(strcl,"ls  *%d*/*RecPoints* > files.txt", run);
   gSystem->Exec(strcl);
-  in3.open("/tmp/files.txt");
+  in3.open("files.txt");
   for (;in3>>sfile;){
     if (sfile.Length()==0) break;
     printf("%s\n",sfile.Data());    
@@ -347,10 +346,9 @@ void AddChains(Int_t run){
 }
 
 void Select(){
-  //
-  // base cut on the tracks
-  //
-  comp.fTree->Draw(">>listTracks","Track.fN>30&&abs(Track.fP4)<0.002");
+  /// base cut on the tracks
+
+  comp.fTree->Draw(">>listTracks","Etrack.fTPCncls>30&&abs(Etrack.fIp.fP[4])<1");
   comp.fTree->SetEventList(listTracks);
   //
   compF.fTree->Draw(">>listFitS","p2>0&&p2<5&&p1<900&&p0<10000&&p4<1&&p4>0&&p5<p3&&chi2<150");
@@ -358,10 +356,9 @@ void Select(){
 }
 
 void SelectLaser(){
-  //
-  // base cut on the tracks
-  //
-  comp.fTree->Draw(">>listTracks","Track.fN>20&&abs(Track.fP4)<0.001&&abs(Etrack.fP[3])<0.01");
+  /// base cut on the tracks
+
+  comp.fTree->Draw(">>listTracks","Etrack.fTPCncls>20&&abs(Etrack.fIp.fP[4])<1&&abs(Etrack.fIp.fP[3])<0.01");
   comp.fTree->SetEventList(listTracks);
   //
   compF.fTree->Draw(">>listFitS","p2>0&&p2<5&&p1<900&&p0<10000&&p4<1&&p4>0&&p5<p3&&chi2<150");
@@ -370,27 +367,25 @@ void SelectLaser(){
   // make default aliases
   //
   //  laser z beam
-  comp.fTree->SetAlias("lz0","abs(Etrack.fP[1]-20)<5");
-  comp.fTree->SetAlias("lz1","abs(Etrack.fP[1]-70)<20");
-  comp.fTree->SetAlias("lz2","abs(Etrack.fP[1]-150)<20");
-  comp.fTree->SetAlias("lz3","abs(Etrack.fP[1]-210)<20");
+  comp.fTree->SetAlias("lz0","abs(Etrack.fIp.fP[1]-20)<5");
+  comp.fTree->SetAlias("lz1","abs(Etrack.fIp.fP[1]-70)<20");
+  comp.fTree->SetAlias("lz2","abs(Etrack.fIp.fP[1]-150)<20");
+  comp.fTree->SetAlias("lz3","abs(Etrack.fIp.fP[1]-210)<20");
 
 }
 
 
 
 void PRFYZ(TCut cut0, TCut cut1,  char * description){
-  //
-  // plot Pad response function as funtion of drift z
-  //
-  //
+  /// plot Pad response function as funtion of drift z
+
   TF1 * f1 = new TF1("fdiff","sqrt([0]*[0]+(250-x)*[1]*[1])");
   f1->SetParameter(1,0.2);
   f1->SetParameter(0,0.2);
-  comp.DrawXY("Cl.fZ","sqrt(Cl.fSigmaY2)","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut0,5,10,240,-0,1);
+  comp.DrawXY("abs(Cl.fZ)","sqrt(Cl.fSigmaY2)","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut0,5,10,240,-0,1);
   TH1F * prfInnerY = (TH1F*)comp.fMean->Clone();
 
-  comp.DrawXY("Cl.fZ","sqrt(Cl.fSigmaY2)","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut1,5,10,240,-0,1);
+  comp.DrawXY("abs(Cl.fZ)","sqrt(Cl.fSigmaY2)","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut1,5,10,240,-0,1);
   TH1F * prfOuterY = (TH1F*)comp.fMean->Clone();
   //
   //
@@ -450,16 +445,15 @@ void PRFZZ(TCut cut0, TCut cut1,  char * description){
 
 
 void ResYZ(TCut cut0, TCut cut1,  char * description){
-  //
-  // resolution in y coordinate as function of z
-  //
+  /// resolution in y coordinate as function of z
+
   TF1 * f1 = new TF1("fdiff","sqrt([0]*[0]+(250-x)*[1]*[1])");
   f1->SetParameter(1,0.2);
   f1->SetParameter(0,0.2);
-  comp.DrawXY("Cl.fZ","Track.fTrackPoints.GetY()-Cl.GetY()","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut0,5,10,240,-0.5,0.5);
+  comp.DrawXY("abs(Cl.fZ)","Track.fTrackPoints.GetY()-Cl.GetY()","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut0,5,10,240,-0.5,0.5);
   TH1F * prfInnerY = (TH1F*)comp.fRes->Clone();
 
-  comp.DrawXY("Cl.fZ","Track.fTrackPoints.GetY()-Cl.GetY()","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut1,5,10,240,-0.5,0.5);
+  comp.DrawXY("abs(Cl.fZ)","Track.fTrackPoints.GetY()-Cl.GetY()","abs(Track.fTrackPoints.GetAngleY())<0.05","Track.fTrackPoints.fTX>0"+cut1,5,10,240,-0.5,0.5);
   TH1F * prfOuterY = (TH1F*)comp.fRes->Clone();
   //
   //
@@ -486,9 +480,8 @@ void ResYZ(TCut cut0, TCut cut1,  char * description){
 }
 
 void SysYX(TCut cut0,  char * description){
-  //
-  //
-  //
+  ///
+
   TProfile * profA = new TProfile("profY","profY",70,89,250);
   comp.fTree->Draw("Cl.fY-Track.fTrackPoints.GetY():Track.fTrackPoints.GetX()>>profY","abs(Cl.fY-Track.fTrackPoints.GetY())<1&&Track.fTrackPoints.fTX>10"+cut0,"prof");
   profA->SetXTitle("Local X (cm)");
@@ -498,11 +491,10 @@ void SysYX(TCut cut0,  char * description){
 }
 
 void SysZX(TCut cut0,  char * description){
-  //
-  //
-  //
+  ///
+
   TProfile * profA = new TProfile("profZ","profZ",70,89,250);
-  comp.fTree->Draw("Cl.fZ-Track.fTrackPoints.GetZ():Track.fTrackPoints.GetX()>>profZ","abs(Cl.fZ-Track.fTrackPoints.GetZ())<1&&Track.fTrackPoints.fTX>10"+cut0,"prof");
+  comp.fTree->Draw("abs(Cl.fZ)-abs(Track.fTrackPoints.GetZ()):Track.fTrackPoints.GetX()>>profZ","abs(abs(Cl.fZ)-abs(Track.fTrackPoints.GetZ()))<1&&Track.fTrackPoints.fTX>10"+cut0,"prof");
   profA->SetXTitle("Local X (cm)");
   profA->SetYTitle("Mean #Delta Z (cm)");  
   TLegend *legend = new TLegend(0.55,0.25,0.85,0.30, description);
@@ -510,67 +502,62 @@ void SysZX(TCut cut0,  char * description){
 }
 
 TProfile * ProfileMaxRow(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  //
+  /// make profile histrogram of amplitudes
+
   TProfile *profA = new TProfile(name,name,max,0,max-1);
   char expr[100];
   sprintf(expr,"Cl.fMax:Cl.fRow>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Pad Row");
   profA->SetYTitle("Amplitude at maxima (ADC)");
   return profA;
 }
 
 TProfile * ProfileMaxPhi(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  //
+  /// make profile histrogram of amplitudes
+
   TProfile *profA = new TProfile(name,name,max,-0.14,0.14);
   char expr[100];
   sprintf(expr,"Cl.fMax:Cl.fY/Cl.fX>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Local #phi(rad)");
   profA->SetYTitle("Amplitude at maxima (ADC)");
-  return profA;
+  return profA; 
 }
 
 TProfile * ProfileQRow(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  //
+  /// make profile histrogram of amplitudes
+
   TProfile *profA = new TProfile(name,name,max,0,max-1);
   char expr[100];
   sprintf(expr,"Cl.fQ:Cl.fRow>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Pad Row");
   profA->SetYTitle("Total charge(ADC)");
   return profA;
 }
 
 TProfile * ProfileQPhi(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  //
+  /// make profile histrogram of amplitudes
+
   TProfile *profA = new TProfile(name,name,max,-0.14,0.14);
   char expr[100];
   sprintf(expr,"Cl.fQ:Cl.fY/Cl.fX>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Local #phi(rad)");
   profA->SetYTitle("Total charge (ADC)");
   return profA;
 }
 
 TProfile * ProfileQZ(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  // 
+  /// make profile histrogram of amplitudes
+
   TF1 * fline = new TF1("fline","[0]+[1]*[0]*(250-x)");
   TF1 * f1 = new TF1("f1","[0]*exp(-[1]*(250-x))");
   TProfile *profA = new TProfile(name,name,max,0,250);
   char expr[100];
-  sprintf(expr,"Cl.fQ:Cl.fZ>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  sprintf(expr,"Cl.fQ:abs(Cl.fZ)>>%s",name);
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Z position (cm)"); 
   profA->SetYTitle("Amplitude (ADC)");
   char chc[100];
@@ -586,14 +573,13 @@ TProfile * ProfileQZ(TCut cut0, char *name, Int_t max){
 }
 
 TProfile * ProfileMaxZ(TCut cut0, char *name, Int_t max){ 
-  //
-  // make profile histrogram of amplitudes
-  // 
+  /// make profile histrogram of amplitudes
+
   TF1 * f1 = new TF1("f1","[0]+[1]*[0]*(250-x)");
   TProfile *profA = new TProfile(name,name,max,0,250);
   char expr[100];
-  sprintf(expr,"Cl.fMax:Cl.fZ>>%s",name);
-  comp.fTree->Draw(expr,"Cl.fZ>0&&Cl.fMax<500"+cut0,"prof");
+  sprintf(expr,"Cl.fMax:abs(Cl.fZ)>>%s",name);
+  comp.fTree->Draw(expr,"abs(Cl.fZ)>0&&Cl.fMax<500"+cut0,"prof");
   profA->SetXTitle("Z position (cm)"); 
   profA->SetYTitle("Amplitude at maxima (ADC)");
   char chc[100];
@@ -606,9 +592,8 @@ TProfile * ProfileMaxZ(TCut cut0, char *name, Int_t max){
 
 
 void P3Z(TCut cut0, TCut cut1,  char * description){
-  //
-  // first exponenent as function of z drift
-  //
+  /// first exponenent as function of z drift
+
   TF1 * f1 = new TF1("fdiff","[0]+[1]/[0]*x");
   f1->SetParameter(1,0.2);   
   f1->SetParameter(0,0.2);
@@ -642,9 +627,8 @@ void P3Z(TCut cut0, TCut cut1,  char * description){
 
 
 void P5Z(TCut cut0, TCut cut1,  char * description){
-  //
-  // second exponenent as function of z drift
-  //
+  /// second exponenent as function of z drift
+
   TF1 * f1 = new TF1("fdiff","[0]+[1]/[0]*x");
   f1->SetParameter(1,0.2);
   f1->SetParameter(0,0.2);
@@ -677,9 +661,8 @@ void P5Z(TCut cut0, TCut cut1,  char * description){
 }
 
 TCanvas *  NoiseSector(TCut cut0,  char * description, Int_t maxrow, Int_t maxpad){
-  //
-  // draw plots of the noise
-  //
+  /// draw plots of the noise
+
   TCanvas * c = new TCanvas;
   c->Divide(2,1);
   c->Draw();