11 gSystem->Load(
"libANALYSIS");
12 gSystem->Load(
"libSTAT");
13 gSystem->Load(
"libTPCcalib");
18 AliCDBManager::Instance()->SetDefaultStorage(
"local://$ALICE_ROOT/OCDB");
19 AliCDBManager::Instance()->SetRun(0) ;
25 gSystem->AddIncludePath(
"-I$ALICE_ROOT/TPC/macros");
26 gROOT->LoadMacro(
"$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
28 TChain * chainres = tool.
MakeChain(
"tracks.txt",
"ResolCl",0,10200);
30 TChain * chainGain = tool.
MakeChain(
"gain.txt",
"dEdx",0,1000000);
33 chainCosmic->Lookup();
37 AliTPCcalibTracks::MakeQPosNormAll(chainres,param,200000,0) ;
42 param->
fPosQTnorm[0] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,0,kFALSE,200000,kTRUE);
43 param->
fPosQTnorm[1] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,1,kFALSE,200000,kTRUE);
44 param->
fPosQTnorm[2] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,2,kFALSE,200000,kTRUE);
46 param->
fPosQMnorm[0] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,0,kTRUE,200000,kTRUE);
47 param->
fPosQMnorm[1] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,1,kTRUE,200000,kTRUE);
48 param->
fPosQMnorm[2] = AliTPCcalibTracksGain::MakeQPosNorm(chainGain,2,kTRUE,200000,kTRUE);
52 TFile
f(
"paramout.root",
"recreate");
53 param->Write(
"clusterParam");
58 TFile f2(
"paramout.root");
63 chainres->Draw(
"AliTPCClusterParam::SPosCorrection(1,0,Cl.fPad,Cl.fTimeBin,Cl.fZ,Cl.fSigmaY2,Cl.fSigmaZ2,Cl.fMax)",
"Cl.fDetector<36",
"",10000);
65 TCut
cutA(
"dedge>3&&fraction2<0.7");
66 chainGain->Draw(
"(Cl.fMax/gain/dedxM.fElements[2]):AliTPCClusterParam::SQnormPos(0,1,Cl.fPad,Cl.fTimeBin,Cl.fZ,Cl.fSigmaY2,Cl.fSigmaZ2,Cl.fMax,Cl.fQ)",
"IPad==0"+cutA,
"prof",100000);
76 TFile f2(
"paramout.root");
78 AliCDBManager *man = AliCDBManager::Instance();
81 StoreObject(
"TPC/Calib/ClusterParam/", param2, metaData);
89 gSystem->Load(
"libANALYSIS");
90 gSystem->Load(
"libSTAT");
91 gSystem->Load(
"libTPCcalib");
92 AliCDBManager::Instance()->SetDefaultStorage(
"local://$ALICE_ROOT/OCDB");
93 AliCDBManager::Instance()->SetRun(0) ;
97 gSystem->AddIncludePath(
"-I$ALICE_ROOT/TPC/macros");
98 gROOT->LoadMacro(
"$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
101 chainCosmic->Lookup();
105 TCut cutT(
"cutT",
"abs(Tr1.fP[3]+Tr0.fP[3])<0.01");
106 TCut
cutD(
"cutD",
"abs(Tr0.fP[0]+Tr1.fP[0])<2");
107 TCut cutP1(
"cutP1",
"abs(Tr0.fP[1]-Tr1.fP[1])<3");
108 TCut cutPt(
"cutPt",
"abs(Tr1.fP[4]+Tr0.fP[4])<0.1&&abs(Tr0.fP[4])+abs(Tr1.fP[4])<10");
109 TCut
cutN(
"cutN",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>100");
110 TCut
cutA=cutT+cutD+cutPt+cutN+cutP1;
112 TCut
cutS(
"cutS",
"Orig0.fIp.fP[1]*Orig1.fIp.fP[1]>0");
114 if (gProof) chainCosmic->SetProof(kTRUE);
119 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0)/Seed1.CookdEdxNorm(0.01,0.65,1,0,159,0)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>120",
"",10000);
128 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,0,0,64,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,0,0,159,0,kTRUE)>>his(100,0.5,1.5)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
129 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
130 paramT[0]=his->GetMean();
132 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,0,64,129,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,0,0,159,0,kTRUE)>>his(100,0.5,1.5)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
133 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
134 paramT[1]=his->GetMean();
136 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,0,129,159,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,0,0,159,0,kTRUE)>>his(100,0.5,2.0)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
137 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
138 paramT[2]=his->GetMean();
141 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,1,0,64,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kTRUE)>>his(100,0.5,1.5)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
142 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
143 paramM[0]=his->GetMean();
145 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,1,64,129,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kTRUE)>>his(100,0.5,1.5)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
146 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
147 paramM[1]=his->GetMean();
149 chainCosmic->Draw(
"Seed0.CookdEdxNorm(0.01,0.65,1,129,159,0,kTRUE)/Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kTRUE)>>his(100,0.5,2.0)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>140",
"",100000);
150 TH1 * his = (TH1*)
gROOT->FindObject(
"his");
151 paramM[2]=his->GetMean();
156 TFile
f(
"paramout.root",
"recreate");
157 param->Write(
"clusterParam");
164 chainCosmic->Draw(
"(Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kTRUE,kTRUE)+Seed1.CookdEdxNorm(0.01,0.65,1,0,159,0,kTRUE,kTRUE))*0.5:log(Tr0.P())>>his2(100,-2,5,500,0,200)",
"min(Orig0.fTPCncls,Orig1.fTPCncls)>110");
static AliTPCcalibDB * Instance()
AliTPCClusterParam * GetClusterParam() const
TVectorD * fPosQTnorm[3]
q position normalization
TFile f("CalibObjects.root")
void AliTPCCreateDummyCDB()
TVectorD * fQpadMnorm
q pad normalization - Max charge
TVectorD * fQpadTnorm
q pad normalization - Total charge
TPC cluster error, shape and charge parameterization as function of drift length and inclination angl...
TVectorD * fPosQMnorm[3]
q position normalization
void TestChainCosmicDedx()
void SetInstance(AliTPCClusterParam *const param)
void StoreObject(const char *cdbPath, TObject *object, AliCDBMetaData *metaData)
AliCDBMetaData * CreateMetaObject(const char *objectClassName)