-/* $Id$ */
+// $Id$
/**
-Macro for converting AliRoot digits into L3 RawData. Binary create for each patch its own file. singlepatch uses one file per slice.
- */
+ Macro for converting AliRoot digits into L3 RawData.
+ Binary creates for each patch its own file.
+ Singlepatch uses one file per slice (sp=kTRUE).
+*/
+
+Binary(char* in,int first, int last,char *path=".",Bool_t sp=kFALSE){
+
+ if(sp) {
+ singlepatch(in,first,last,path);
+ return;
+ }
-Binary(char* in,int first, int last,char *path="."){
char name[256];
const Int_t npatch = 6;
AliL3Logger l;
//l.UnSet(AliL3Logger::kDebug);
//l.UnSet(AliL3Logger::kAll);
//l.Set(AliL3Logger::kInformational);
- //l.UseStdout();
- l.UseStream();
+ l.UseStdout();
+ //l.UseStream();
char name[256];
AliL3FileHandler *fFileHandler = new AliL3FileHandler();
+// $Id$
+
/**
Displays tracks and clusters read from a file.
Functionality is now in AliL3Display. See also the
- display.C macro.
*/
void Display(char *trackfile=0,Bool_t rpoints = kFALSE,Bool_t tpoints = kTRUE,Char_t *gfile="/prog/alice/data/GEO/alice.geom")
+// $Id$
+
void Eval(char *rootfile="")
{
-
AliL3Logger l;
// l.UnSet(AliL3Logger::kDebug);
// l.UnSet(AliL3Logger::kAll);
l.UseStdout();
//l.UseStream();
- int slice[2] = {1,3};
+ int slice[2] = {0,35};
e = new AliL3Evaluate(rootfile,slice);
e->SetupSlow("tracks.raw",".");
//e->SetupFast("tracks.raw","/nfs/david/subatom/alice/data/V3.04/fast/clusters/hg_8k_v0_s1-3_e0_cl.root",".");
- ntuppel = (TNtuple*)e->EvaluatePoints();
-
-
+ TNtuple *ntuppel = (TNtuple*)e->EvaluatePoints();
file = new TFile("CFeval_nodeconv.root","RECREATE");
file->cd();
ntuppel->Write();
gStyle->SetOptStat(0);
gStyle->SetOptFit(1100);
-
c = new TCanvas("c","",2);
SetCanvasOptions(c);
-
f1 = new TFile(rootfile);
hist = new TH1F("hist","",50,-10,10);
TF1 *f = new TF1("f","gaus",-rms,rms);
hist->Fit("f","R");
-
-
}
void plot(char *rootfile)
{
-
gStyle->SetStatColor(10);
gStyle->SetOptStat(1);
gStyle->SetOptFit(1);
hist = new TH1F("hist","",100,-0.6,0.6);
SetTH1Options(hist);
-
can = new TCanvas("can","Residuals",900,600);
can->Divide(2);
SetCanvasOptions(can);
can->cd(2);
ntuppel_fast->Draw("residual_trans>>hist2","nHits>100 && pt>1.0 && padrow > 0 && zHit < 50");//dipangle < 20*3.1415/180");
-
can->Update();
-
-
}
+
+
-/** $Id$
+// $Id$
-Important macro to get certain Aliroot parameters. They are stored
-in a file "Init.cxx". New init of AliL3Transform uses output to read certain
-TPC parameters.
+/**
+ Important macro to get certain Aliroot parameters. They are stored
+ in a file "Init.cxx". New init of AliL3Transform uses output to read certain
+ TPC parameters.
*/
void Make_Init(char *file, char *tofile="Init.cxx"){
+// $Id$
+
/**
Macro for displaying L3 cluster/track or raw data.
Uses the AliL3Display class.
+// $Id$
+
void eval(char *inFile)
{
-
-
// Connect the Root Galice file containing Geometry, Kine and Hits
file = new TFile(inFile);
+// $Id$
+
void read(int min=0,int max=35)
{
-
{
printf("\nWELCOME to the magic world of Level3\n\n");
}
cout<<"TPC libraries loaded"<<endl;
}
- if(0)
+
+ if(1)
{
if(getenv("MLUCDIR")) {
gSystem->Load("$(MLUCDIR/lib/linux-i386/libMLUC");
- gSystem->Load("$(TOPDIR)/lib_ALIROOT/libAliL3");
- gSystem->Load("$(TOPDIR)/lib_ALIROOT/libAliL3Hough");
- gSystem->Load("$(TOPDIR)/lib_ALIROOT/libAliL3Comp");
+ gSystem->Load("$(TOPDIR)/lib_$(USEPACKAGE)/libAliL3");
+ gSystem->Load("$(TOPDIR)/lib_$(USEPACKAGE)/libAliL3Misc");
+ gSystem->Load("$(TOPDIR)/lib_$(USEPACKAGE)/libAliL3Hough");
+ gSystem->Load("$(TOPDIR)/lib_$(USEPACKAGE)/libAliL3Comp");
} else {
gSystem->Load("$(LEVEL3)/kip/MLUC/lib/linux-i386/libMLUC.so");
gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3");
+ gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3Misc");
gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3Hough");
gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3Comp");
}
-void runhough(Int_t slice,Char_t *path,Int_t n_eta_segments)
+// $Id$
+
+/**
+ Shows how to use the hough code. Stores tracks parameters
+ in files.
+*/
+
+void runhough(Int_t slice,Char_t *path,Int_t n_eta_segments,Int_t vseg=-1)
{
- AliL3Transform::Init("/prog/alice/data/new/fixed-slice0/");
-
+ //AliL3Transform::Init("/prog/alice/data/new/fixed-slice0/");
+ AliL3Transform::Init(path);
+
hough = new AliL3Hough();
Bool_t binary = kTRUE;
Bool_t bit8 = kTRUE;
track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
if(!track) continue;
cout<<"pt "<<track->GetPt()<<" psi "<<track->GetPsi()<<" eta "<<track->GetEta()<<" etaindex "<<track->GetEtaIndex()<<" weight "<<track->GetWeight()<<endl;
+ if(vseg==-1) vseg=track->GetEtaIndex();
}
hough->WriteTracks(slice);
- cout<<"Found in total "<<tracks->GetNTracks()<<" tracks"<<endl;
- display(hough,25);
+ cout<<"Found in slice " << slice << " total "<<tracks->GetNTracks()<<" tracks"<<endl;
+ display(hough,vseg);
}
+// $Id$
+
/**
Run this macro for cluster finder and track follower (see steering class
AliLevel3.
a->Init(path_to_use);
- phi_segments = 50;
- eta_segments = 100;
- trackletlength = 3;
- tracklength = 5;
- rowscopetracklet = 2;
- rowscopetrack = 2;
- min_pt_fit = 0;
- maxangle = 1.31;
- goodDist = 5;
- maxphi=100;
- maxeta=100;
- hitChi2Cut = 100;
- goodHitChi2 = 20;
- trackChi2Cut = 50;
+ phi_segments = 50; //devide the space into phi_segments and eta_segments
+ eta_segments = 100; //to access the search of points to that area!
+ trackletlength = 3; //number of hits a tracklet has to have
+ tracklength = 5; //number of hits a track has to have
+ rowscopetracklet = 2;//search range of rows for a tracklet
+ rowscopetrack = 2; //search range of rows for a track
+ min_pt_fit = 0;
+ maxangle = 1.31; //maximum angle for the three point look ahead
+ goodDist = 5; //threshold distance between two hits when building tracklets
+ maxphi=100; //maximum phi difference for neighboring hits
+ maxeta=100; //maximum eta difference for neighboring hits
+ hitChi2Cut = 100; //maximum chi2 of added hit to track
+ goodHitChi2 = 20; //stop looking for next hit to add if chi2 is less than goodHitChi2
+ trackChi2Cut = 50; //maximum chi2 for track after final fit
//main vertex tracking parameters:
a->SetTrackerParam(phi_segments,eta_segments,trackletlength,tracklength,
+// $Id$
+
void trigger_pp(char *outfile="results.root")
{