TFile fcalib("CalibObjects.root");
TObjArray * array = (TObjArray*)fcalib.Get("TPCCalib");
AliTPCcalibLaser * laser = ( AliTPCcalibLaser *)array->FindObject("laserTPC");
- laser->DumpMeanInfo(-0,0,10)
+ laser->DumpMeanInfo(-0,0)
TFile fmean("laserMean.root")
//
// laser track clasification;
gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+")
AliXRDPROOFtoolkit tool;
+ TChain * chainDrift = tool.MakeChain("laser.txt","driftv",0,10200);
+ chainDrift->Lookup();
+
TChain * chain = tool.MakeChain("laser.txt","Residuals",0,10200);
chain->Lookup();
TChain * chainFit = tool.MakeChain("laser.txt","FitModels",0,10200);
#include "AliTPCcalibDB.h"
#include "AliTPCParam.h"
#include "TTimeStamp.h"
+#include "AliDCSSensorArray.h"
+#include "AliDCSSensor.h"
using namespace std;
delete fHisPz2vP2Out; //-> Curv P2outer - parabola
delete fHisPz3vP2IO; //-> Curv P2outerinner - common parabola
}
+ //
+ //
+ //
+ fDeltaZ.SetOwner(); //-> array of histograms of delta z for each track
+ fDeltaP3.SetOwner(); //-> array of histograms of P3 for each track
+ fDeltaP4.SetOwner(); //-> array of histograms of P4 for each track
+ fDeltaPhi.SetOwner(); //-> array of histograms of delta z for each track
+ fDeltaPhiP.SetOwner(); //-> array of histograms of delta z for each track
+ fSignals.SetOwner(); //->Array of dedx signals
+
+ fDeltaZ.Delete(); //-> array of histograms of delta z for each track
+ fDeltaP3.Delete(); //-> array of histograms of P3 for each track
+ fDeltaP4.Delete(); //-> array of histograms of P4 for each track
+ fDeltaPhi.Delete(); //-> array of histograms of delta z for each track
+ fDeltaPhiP.Delete(); //-> array of histograms of delta z for each track
+ fSignals.Delete(); //->Array of dedx signals
+
+ fDeltaYres.SetOwner();
+ fDeltaYres.Delete();
+ fDeltaZres.SetOwner();
+ fDeltaZres.Delete();
+ fDeltaYres2.SetOwner();
+ fDeltaYres2.Delete();
+ fDeltaZres2.SetOwner();
+ fDeltaZres2.Delete();
+
+
}
for (Int_t j=0;(calibObject=friendTrack->GetCalibObject(j));++j)
if ((seed=dynamic_cast<AliTPCseed*>(calibObject)))
break;
- if (track&&seed) {
+ if (track&&seed &&TMath::Abs(track->Pt()) >1 ) {
+ //filter CE tracks
Int_t id = FindMirror(track,seed);
if (id>0) counter++;
}
Double_t ptrelative1 = AliTPCcalibDB::GetPTRelative(tstamp,fRun,1);
Double_t temp0 = AliTPCcalibDB::GetTemperature(tstamp,fRun,0);
Double_t temp1 = AliTPCcalibDB::GetTemperature(tstamp,fRun,1);
+ TVectorD vecGoofie(20);
+ AliDCSSensorArray* goofieArray = AliTPCcalibDB::Instance()->GetGoofieSensors(fRun);
+ if (goofieArray)
+ for (Int_t isensor=0; isensor<goofieArray->NumSensors();isensor++){
+ AliDCSSensor *gsensor = goofieArray->GetSensor(isensor);
+ if (gsensor) vecGoofie[isensor]=gsensor->GetValue(tstamp);
+ }
if (cstream){
(*cstream)<<"driftv"<<
"pt1="<<ptrelative1<<
"temp0="<<temp0<<
"temp1="<<temp1<<
+ "vecGoofie.="<<&vecGoofie<<
//
//
"iter="<<iter<<
for (Int_t drow=-1;drow<=1;drow++) {
if (irow+drow<0) continue;
if (irow+drow>158) continue;
- AliTPCclusterMI *c=track->GetClusterPointer(irow);
- if (!c) continue;
- Int_t roc = static_cast<Int_t>(c->GetDetector());
+ AliTPCclusterMI *ccurrent=track->GetClusterPointer(irow);
+ if (!ccurrent) continue;
+ Int_t roc = static_cast<Int_t>(ccurrent->GetDetector());
if ( roc!=innerSector && roc!=outerSector ) continue;
- if (c->GetX()<10) continue;
- if (c->GetY()==0) continue;
- meanY+=c->GetY();
+ if (ccurrent->GetX()<10) continue;
+ if (ccurrent->GetY()==0) continue;
+ meanY+=ccurrent->GetY();
sumY++;
}
if (sumY>0) meanY/=sumY;
vecClY[irow] = c->GetY();
vecClZ[irow] = c->GetZ();
//
- Float_t gxyz[3];
- c->GetGlobalXYZ(gxyz);
- vecgX[irow] = gxyz[0];
- vecgY[irow] = gxyz[1];
- vecgZ[irow] = gxyz[2];
+// Float_t gxyz[3];
+// c->GetGlobalXYZ(gxyz);
+// vecgX[irow] = gxyz[0];
+// vecgY[irow] = gxyz[1];
+// vecgZ[irow] = gxyz[2];
//
Double_t x = vecX[irow]-133.4; //reference is between IROC and OROC
Double_t y = vecClY[irow];
-void AliTPCcalibLaser::DumpMeanInfo(Float_t bfield, Int_t run, Int_t minEntries){
+void AliTPCcalibLaser::DumpMeanInfo(Float_t bfield, Int_t run){
//
// Dump information about laser beams
// isOK variable indicates usability of the beam
static Int_t counter0=0;
while ((cal = (AliTPCcalibLaser*)iter->Next())) {
if (!cal->InheritsFrom(AliTPCcalibLaser::Class())) {
- Error("Merge","Attempt to add object of class %s to a %s", cal->ClassName(), this->ClassName());
+ // Error("Merge","Attempt to add object of class %s to a %s", cal->ClassName(), this->ClassName());
return -1;
}
printf("Marging number %d\n", counter0);
// merge ProfileY histograms -0
h2m = (TH2F*)cal->fDeltaYres.At(id);
h2 = (TH2F*)fDeltaYres.At(id);
- if (h2m) h2->Add(h2m);
+ if (h2m&&h2) h2->Add(h2m);
//
h2m = (TH2F*)cal->fDeltaZres.At(id);
h2 = (TH2F*)fDeltaZres.At(id);
- if (h2m) h->Add(h2m);
+ if (h2m&&h2) h2->Add(h2m);
// merge ProfileY histograms - 2
h2m = (TH2F*)cal->fDeltaYres2.At(id);
h2 = (TH2F*)fDeltaYres2.At(id);
- if (h2m) h2->Add(h2m);
+ if (h2m&&h2) h2->Add(h2m);
//
h2m = (TH2F*)cal->fDeltaZres2.At(id);
h2 = (TH2F*)fDeltaZres2.At(id);
- if (h2m) h->Add(h2m);
+ if (h2m&&h2) h2->Add(h2m);
// merge ProfileY histograms - 3
//h2m = (TH2F*)cal->fDeltaYres3.At(id);
//h2 = (TH2F*)fDeltaYres3.At(id);