]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibLaser.cxx
Print override: changed fot TObjArray in root v5-22-00. Now adapted.
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibLaser.cxx
index 9f5d7f22628d9247d4f18dd85caf8a8de4be82e0..e97e8f79501fe909b979a3cb9f401a77cc57dfe7 100644 (file)
@@ -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);
 #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<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++;
     }
@@ -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; isensor<goofieArray->NumSensors();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="<<ptrelative1<<
          "temp0="<<temp0<<
          "temp1="<<temp1<<
+         "vecGoofie.="<<&vecGoofie<<
          //
          //
          "iter="<<iter<<
@@ -1151,13 +1192,13 @@ void AliTPCcalibLaser::RefitLaserJW(Int_t id){
          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; 
@@ -1182,11 +1223,11 @@ void AliTPCcalibLaser::RefitLaserJW(Int_t id){
          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];
@@ -1607,7 +1648,7 @@ void AliTPCcalibLaser::RefitLaserJW(Int_t id){
 
 
 
-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  
@@ -2174,7 +2215,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
   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);
@@ -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);