X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCcalibLaser.cxx;h=e97e8f79501fe909b979a3cb9f401a77cc57dfe7;hb=86aed2507064d75423472c34ac6d15f309f6baa0;hp=9f5d7f22628d9247d4f18dd85caf8a8de4be82e0;hpb=3ac724f077c94f70ee4e4688056e4b12fa5346e7;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCcalibLaser.cxx b/TPC/AliTPCcalibLaser.cxx index 9f5d7f22628..e97e8f79501 100644 --- a/TPC/AliTPCcalibLaser.cxx +++ b/TPC/AliTPCcalibLaser.cxx @@ -40,7 +40,7 @@ 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; @@ -71,6 +71,9 @@ 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); @@ -116,6 +119,8 @@ #include "AliTPCcalibDB.h" #include "AliTPCParam.h" #include "TTimeStamp.h" +#include "AliDCSSensorArray.h" +#include "AliDCSSensor.h" using namespace std; @@ -430,6 +435,33 @@ AliTPCcalibLaser::~AliTPCcalibLaser() { 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(); + + } @@ -474,7 +506,8 @@ void AliTPCcalibLaser::Process(AliESDEvent * event) { for (Int_t j=0;(calibObject=friendTrack->GetCalibObject(j));++j) if ((seed=dynamic_cast(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++; } @@ -715,6 +748,13 @@ void AliTPCcalibLaser::FitDriftV(){ 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; isensorNumSensors();isensor++){ + AliDCSSensor *gsensor = goofieArray->GetSensor(isensor); + if (gsensor) vecGoofie[isensor]=gsensor->GetValue(tstamp); + } if (cstream){ (*cstream)<<"driftv"<< @@ -730,6 +770,7 @@ void AliTPCcalibLaser::FitDriftV(){ "pt1="<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); @@ -2250,19 +2291,19 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) { // 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);