From 82628455be1b47827ab2baa3cfe14002c3626a3c Mon Sep 17 00:00:00 2001 From: marian Date: Tue, 11 May 2010 12:08:15 +0000 Subject: [PATCH] Warning removal + AliTPCkalmanAlign.cxx Usage of TPC out instaed of OuterParam Marian --- TPC/AliTPCcalibCosmic.cxx | 10 ++-- TPC/AliTPCcalibTimeGain.cxx | 13 ++--- TPC/AliTPCkalmanAlign.cxx | 113 +++++++++++++++++++++++++++--------- TPC/AliXRDPROOFtoolkit.cxx | 4 +- 4 files changed, 98 insertions(+), 42 deletions(-) diff --git a/TPC/AliTPCcalibCosmic.cxx b/TPC/AliTPCcalibCosmic.cxx index d4f3722b34e..d81a8d74280 100644 --- a/TPC/AliTPCcalibCosmic.cxx +++ b/TPC/AliTPCcalibCosmic.cxx @@ -564,11 +564,11 @@ void AliTPCcalibCosmic::FindPairs(AliESDEvent *event) { // if (meanP > 0.4 && meanP < 0.45) fDeDxMIP->Fill(seed->CookdEdxNorm(0.0,0.45,0,0,159)); // - if (GetDebugLevel()>0&&meanP>0.2&&seed->CookdEdxNorm(0.0,0.45,0,0,159)>300) { - TFile *curfile = AliAnalysisManager::GetAnalysisManager()->GetTree()->GetCurrentFile(); - //if (curfile) printf(">>> p+ in file: %s \t event: %i \t Number of ESD tracks: %i \n", curfile->GetName(), (int)event->GetEventNumberInFile(), (int)ntracks); - // if (track->GetOuterParam()->GetAlpha()<0) cout << " Polartiy: " << track->GetSign() << endl; - } + // if (GetDebugLevel()>0&&meanP>0.2&&seed->CookdEdxNorm(0.0,0.45,0,0,159)>300) { +// //TFile *curfile = AliAnalysisManager::GetAnalysisManager()->GetTree()->GetCurrentFile(); +// //if (curfile) printf(">>> p+ in file: %s \t event: %i \t Number of ESD tracks: %i \n", curfile->GetName(), (int)event->GetEventNumberInFile(), (int)ntracks); +// // if (track->GetOuterParam()->GetAlpha()<0) cout << " Polartiy: " << track->GetSign() << endl; +// } } diff --git a/TPC/AliTPCcalibTimeGain.cxx b/TPC/AliTPCcalibTimeGain.cxx index 8a8618b9af3..e03c9c5a67d 100644 --- a/TPC/AliTPCcalibTimeGain.cxx +++ b/TPC/AliTPCcalibTimeGain.cxx @@ -314,9 +314,10 @@ void AliTPCcalibTimeGain::ProcessCosmicEvent(AliESDEvent *event) { AliESDtrack *track = event->GetTrack(i); if (!track) continue; - + AliESDfriendTrack *friendTrack = esdFriend->GetTrack(i); + if (!friendTrack) continue; const AliExternalTrackParam * trackIn = track->GetInnerParam(); - const AliExternalTrackParam * trackOut = track->GetOuterParam(); + const AliExternalTrackParam * trackOut = friendTrack->GetTPCOut(); if (!trackIn) continue; if (!trackOut) continue; @@ -331,8 +332,6 @@ void AliTPCcalibTimeGain::ProcessCosmicEvent(AliESDEvent *event) { if (TMath::Abs(trackIn->GetSnp()) > 0.6) continue; // Get seeds - AliESDfriendTrack *friendTrack = esdFriend->GetTrack(i); - if (!friendTrack) continue; TObject *calibObject; AliTPCseed *seed = 0; for (Int_t l=0;(calibObject=friendTrack->GetCalibObject(l));++l) { @@ -378,9 +377,11 @@ void AliTPCcalibTimeGain::ProcessBeamEvent(AliESDEvent *event) { AliESDtrack *track = event->GetTrack(i); if (!track) continue; + AliESDfriendTrack *friendTrack = esdFriend->GetTrack(i); + if (!friendTrack) continue; const AliExternalTrackParam * trackIn = track->GetInnerParam(); - const AliExternalTrackParam * trackOut = track->GetOuterParam(); + const AliExternalTrackParam * trackOut = friendTrack->GetTPCOut(); if (!trackIn) continue; if (!trackOut) continue; @@ -395,8 +396,6 @@ void AliTPCcalibTimeGain::ProcessBeamEvent(AliESDEvent *event) { if (TMath::Abs(trackIn->GetSnp()) > 0.6) continue; // Get seeds - AliESDfriendTrack *friendTrack = esdFriend->GetTrack(i); - if (!friendTrack) continue; TObject *calibObject; AliTPCseed *seed = 0; for (Int_t l=0;(calibObject=friendTrack->GetCalibObject(l));++l) { diff --git a/TPC/AliTPCkalmanAlign.cxx b/TPC/AliTPCkalmanAlign.cxx index d6112575b54..a24e145787f 100644 --- a/TPC/AliTPCkalmanAlign.cxx +++ b/TPC/AliTPCkalmanAlign.cxx @@ -49,7 +49,8 @@ #include "TVectorD.h" #include "TClonesArray.h" - +#include "AliTPCcalibDB.h" +#include "AliTPCCalROC.h" #include "AliCDBMetaData.h" #include "AliCDBId.h" #include "AliCDBManager.h" @@ -57,6 +58,7 @@ #include "AliCDBEntry.h" #include "AliAlignObjParams.h" #include "AliTPCROC.h" +#include "AliTracker.h" #include "TFile.h" #include "TLinearFitter.h" #include "AliTPCcalibAlign.h" @@ -181,6 +183,22 @@ void AliTPCkalmanAlign::MakeGlobalAlign(){ // AliTPCkalmanAlign &kalmanAlign=*this; TTreeSRedirector *pcstream = new TTreeSRedirector("AliTPCkalmanAlign.root"); + // + // get ce info + // + AliTPCCalPad *padTime0 = AliTPCcalibDB::Instance()->GetPadTime0(); + TVectorD paramCE[72]; + TMatrixD covarCE[72]; + Float_t chi2; + for (Int_t isec=0; isec<72; isec++){ + AliTPCCalROC * roc0 = padTime0->GetCalROC(isec); + roc0->GlobalFit(0,kFALSE,paramCE[isec],covarCE[isec],chi2,0); + (*pcstream)<<"ceFit"<< + "isec="<GetEntries()GetMean(); + rms[0]=his->GetRMS(); + stat[0]=his->GetEntries(); kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[0],cov[0]); // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kZ,is0,is1); if (!his) continue; delta[1]=his->GetMean(); + rms[1]=his->GetRMS(); + stat[1]=his->GetEntries(); kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[1],cov[1]); // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kPhi,is0,is1); if (!his) continue; delta[2] = his->GetMean(); + rms[2]=his->GetRMS(); + stat[2]=his->GetEntries(); kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[2],cov[2]); // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kTheta,is0,is1); if (!his) continue; delta[3] = his->GetMean(); + rms[3]=his->GetRMS(); + stat[3]=his->GetEntries(); kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[3],cov[3]); } + + fDelta1D[0] = (TMatrixD*)vec[0].Clone(); + fDelta1D[1] = (TMatrixD*)vec[1].Clone(); + fDelta1D[2] = (TMatrixD*)vec[2].Clone(); + fDelta1D[3] = (TMatrixD*)vec[3].Clone(); + // + fCovar1D[0] = (TMatrixD*)cov[0].Clone(); + fCovar1D[1] = (TMatrixD*)cov[1].Clone(); + fCovar1D[2] = (TMatrixD*)cov[2].Clone(); + fCovar1D[3] = (TMatrixD*)cov[3].Clone(); + + MakeNewAlignment(kTRUE); + for (Int_t is0=0;is0<72;is0++) for (Int_t is1=0;is1<72;is1++){ + Bool_t isPair=kFALSE; + if (TMath::Abs(is0%18-is1%18)<2) isPair=kTRUE; + if (TMath::Abs(is0%18-is1%18)==17) isPair=kTRUE; + if (!isPair) continue; + stat[0]=0; stat[1]=0; stat[2]=0; stat[3]=0; // // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kY,is0,is1); - if (!his) continue; - if (his->GetEntries()GetMean(); - kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[0],cov[0]); + if (his){ + delta[0]=his->GetMean(); + rms[0]=his->GetRMS(); + stat[0]=his->GetEntries(); + } // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kZ,is0,is1); - if (!his) continue; - delta[1]=his->GetMean(); - kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[1],cov[1]); + if (his) { + delta[1]=his->GetMean(); + rms[1]=his->GetRMS(); + stat[1]=his->GetEntries(); + } // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kPhi,is0,is1); - if (!his) continue; - delta[2] = his->GetMean(); - kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[2],cov[2]); + if (his){ + delta[2] = his->GetMean(); + rms[2]=his->GetRMS(); + stat[2]=his->GetEntries(); + } // his = kalmanAlign.fCalibAlign->GetHisto(AliTPCcalibAlign::kTheta,is0,is1); - if (!his) continue; - delta[3] = his->GetMean(); - kalmanAlign.UpdateAlign1D(his->GetMean(),his->GetRMS(),is0,is1, vec[3],cov[3]); + if (his){ + delta[3] = his->GetMean(); + rms[3]=his->GetRMS(); + stat[3]=his->GetEntries(); + } + Int_t run = AliCDBManager::Instance()->GetRun(); + Float_t bz = AliTracker::GetBz(); (*pcstream)<<"kalmanAlignDebug"<< + "run="<Clone(); for (Int_t i=0; iGetEntries();i++){ AliAlignObjParams *params = (AliAlignObjParams*)fOriginalAlign->At(i); - AliAlignObjParams *paramsNew = (AliAlignObjParams*)fNewAlign->At(i); + //AliAlignObjParams *paramsNew = (AliAlignObjParams*)fNewAlign->At(i); params->GetVolUID(idLayer,idModule); Int_t sector=(Int_t)idModule; if (idLayer>7) sector+=36; @@ -544,17 +597,21 @@ void AliTPCkalmanAlign::MakeNewAlignment(Bool_t badd, TTreeSRedirector * pcstrea localTransNew=localTrans; localRotNew=localRot; } -// localTrans[1]=localTrans[1]-(*fDelta1D[0])[sector]; -// localRot[0] =localRot[0]-(*fDelta1D[0])[sector]; + localTransNew[1]=localTransNew[1]-((*fDelta1D[0])(sector,0)); + localRot[0] =localRot[0]-(*fDelta1D[2])(sector,0); // - if (pcstream) (*pcstream)<<"newAlign"<< + if (pcstream) (*pcstream)<<"alignParams"<< //"idLayer="<0 && !f->IsZombie()){ level=2; - if(checkLevel>1 && treeToRetrieve!="" && (getTree=(TTree*)f->Get(treeToRetrieve))!=0x0){ + if(checkLevel>1 && (getTree=(TTree*)f->Get(treeToRetrieve))!=0x0){ level=3; Int_t tentries = getTree->GetEntries(); if (tentries>=0) level=4; cout<<"Number of entries :"<GetEntries()<3 && varexp!="" &&tentries>0) { + if(checkLevel>3 &&tentries>0) { getTree->SetBranchStatus("*",1); try{ TH1F his("his","his",100,-1,1); -- 2.43.0