3 Int_t FindKrClusterCheck(const char *fileName="data.root");
\r
6 Int_t FindKrClustersRaw(const char *fileName="data.root"){
\r
11 // remove Altro warnings
\r
13 AliLog::SetClassDebugLevel("AliTPCRawStream",-5);
\r
14 AliLog::SetClassDebugLevel("AliRawReaderDate",-5);
\r
15 AliLog::SetClassDebugLevel("AliTPCAltroMapping",-5);
\r
16 AliLog::SetModuleDebugLevel("RAW",-5);
\r
20 char *ocdbpath = gSystem->Getenv("OCDB_PATH");
\r
21 //char *ocdbpath ="local:///afs/cern.ch/alice/tpctest/OCDB";
\r
23 ocdbpath="alien://folder=/alice/data/2007/LHC07w/OCDB/";
\r
25 printf("OCDB PATH = %s\n",ocdbpath);
\r
26 AliCDBManager * man = AliCDBManager::Instance();
\r
27 man->SetDefaultStorage(ocdbpath);
\r
28 man->SetRun(100000000);
\r
30 AliTPCCalPad * noiseTPC = AliTPCcalibDB::Instance()->GetPadNoise();
\r
31 AliTPCAltroMapping** mapping =AliTPCcalibDB::Instance()->GetMapping();
\r
37 TFile *hfile=new TFile("adc.root","RECREATE","ADC file");
\r
38 // Create a ROOT Tree
\r
39 TTree *mytree = new TTree("Kr","Krypton cluster tree");
\r
44 TH1F *histoRow =new TH1F("histoRow","rows",100,0.,100.);
\r
45 TH1F *histoPad =new TH1F("histoPad","pads",150,0.,150.);
\r
46 TH1F *histoTime =new TH1F("histoTime","timebins",100,0.,1000.);
\r
47 TH2F *histoRowPad=new TH2F("histoRowPad","pads-vs-rows" ,150,0.,150.,100,0.,100.);
\r
51 //one general output
\r
52 AliTPCclustererKr *clusters = new AliTPCclustererKr();
\r
53 clusters->SetOutput(mytree);
\r
54 clusters->SetRecoParam(0);
\r
57 clusters->SetDebugLevel(debugLevel);
\r
58 clusters->SetHistoRow(histoRow );
\r
59 clusters->SetHistoPad(histoPad );
\r
60 clusters->SetHistoTime(histoTime );
\r
61 clusters->SetHistoRowPad(histoRowPad);
\r
65 AliTPCParamSR *param=new AliTPCParamSR();
\r
66 //only for geometry parameters loading - temporarly
\r
67 // AliRunLoader* rl = AliRunLoader::Open("galice.root");
\r
68 // AliTPCParam *param=(AliTPCParamSR *)gDirectory->Get("75x40_100x60_150x60");
\r
69 //if (!param) {cerr<<"TPC parameters have not been found !\n"; return 4;}
\r
71 clusters->SetParam(param);
\r
73 //set cluster finder parameters (from data)
\r
74 clusters->SetZeroSup(param->GetZeroSup());//zero suppression parameter
\r
75 clusters->SetFirstBin(60);//first bin
\r
76 clusters->SetLastBin(950);//last bin
\r
77 clusters->SetMaxNoiseAbs(2);//maximal noise
\r
78 clusters->SetMaxNoiseSigma(3);//maximal amount of sigma of noise
\r
80 //set cluster finder parameters (from MC)
\r
81 clusters->SetMinAdc(3);//signal threshold (everything below is treated as 0)
\r
82 clusters->SetMinTimeBins(2);//number of neighbouring timebins
\r
83 clusters->SetMaxPadRangeCm(5.);//distance of the cluster center to the center of a pad (in cm)
\r
84 clusters->SetMaxRowRangeCm(5.);//distance of the cluster center to the center of a padrow (in cm)
\r
85 clusters->SetMaxTimeRange(5.);//distance of the cluster center to the max time bin on a pad (in tackts)
\r
86 //ie. fabs(centerT - time)<7
\r
87 clusters->SetValueToSize(7.);//cut reduce peak at 0
\r
88 clusters->SetIsolCut(3);//set isolation cut threshold
\r
90 AliRawReader *reader = new AliRawReaderRoot(fileName);
\r
96 AliAltroRawStreamFast* stream = new AliAltroRawStreamFast(reader);
\r
97 stream->SelectRawData("TPC");
\r
100 while (reader->NextEvent()) {
\r
101 //output for each event
\r
103 //if(evtnr>4) break;
\r
104 cout<<"Evt = "<<evtnr<<endl;
\r
105 clusters->FinderIO(reader);
\r
107 AliSysInfo::AddStamp(Form("Event%d",evtnr),evtnr);
\r
111 mytree->Print();//print rootuple summary
\r
112 // Save all objects in this file
\r
119 printf("Deleting clusterer\n");
\r
121 printf("Deleting stream\n");
\r
123 printf("Deleting raw reader\n");
\r
126 // TCanvas *c2=new TCanvas("c2","title",800,800);
\r
127 // c2->SetHighLightColor(2);
\r
128 // c2->Range(-458.9552,-2948.238,3296.642,26856.6);
\r
129 // c2->SetBorderSize(2);
\r
130 // c2->SetLeftMargin(0.15);
\r
131 // c2->SetRightMargin(0.06);
\r
132 // c2->SetFrameFillColor(0);
\r
134 // gStyle->SetOptStat(111111);
\r
135 // histoRow->Draw();
\r
136 // c2->Print("rows.ps");
\r
137 // histoPad->Draw();
\r
138 // c2->Print("pads.ps");
\r
139 // histoTime->Draw();
\r
140 // c2->Print("timebins.ps");
\r
141 // histoRowPad->Draw();
\r
142 // c2->Print("row-pad.ps");
\r
148 Int_t FindKrClusterCheck(const char *fileName){
\r
151 gSystem->Load("$ROOTSYS/lib/libGui.so");
\r
152 gSystem->Load("$ROOTSYS/lib/libTree.so");
\r
153 gSystem->Load("$MEMSTAT/libMemStat.so");
\r
155 TMemStat memstat(1000000,100000,kTRUE);
\r
156 AliSysInfo::AddCallBack(TMemStatManager::GetInstance()->fStampCallBack);
\r
157 FindKrClustersRaw(fileName);
\r
159 // the output memstat.root file
\r
160 TMemStat draw("memstat.root");
\r
161 // Print some information
\r
163 draw.MakeReport(0,0);
\r