Cleanup and reordering of TPC classes
authorjthaeder <jthaeder@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 3 Mar 2013 17:12:34 +0000 (17:12 +0000)
committerjthaeder <jthaeder@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 3 Mar 2013 17:12:34 +0000 (17:12 +0000)
 - obsolete classes removed or moved to TPC/Attic when the contain still useful code
 - create Util library for stuff which is not part of Base Rec or Sim
 - move base classes to TPC/Base
 - rename AliTPCclustererMI to AliTPCclusterer
 - rename AliTPCtrackerMI to AliTPCtracker

More still to come - it is only a snapshot

188 files changed:
TPC/AliESDcosmic.cxx [deleted file]
TPC/AliESDcosmic.h [deleted file]
TPC/AliTPCCalDet.cxx [deleted file]
TPC/AliTPCCalDet.h [deleted file]
TPC/AliTPCCalibKr.cxx
TPC/AliTPCCalibKrTask.cxx
TPC/AliTPCCalibSignal.cxx [deleted file]
TPC/AliTPCCalibSignal.h [deleted file]
TPC/AliTPCCompareTracks.C
TPC/AliTPCFindClusters.C
TPC/AliTPCFindClustersMI.C [deleted file]
TPC/AliTPCGoofieValues.cxx [deleted file]
TPC/AliTPCGoofieValues.h [deleted file]
TPC/AliTPCLaserTracks.cxx [deleted file]
TPC/AliTPCLaserTracks.h [deleted file]
TPC/AliTPCParamCR.cxx [deleted file]
TPC/AliTPCParamCR.h [deleted file]
TPC/AliTPCRawStream.cxx [deleted file]
TPC/AliTPCRawStream.h [deleted file]
TPC/AliTPCcalibAlignment.h
TPC/AliTPCcalibCalib.cxx
TPC/AliTPCdigit.cxx [deleted file]
TPC/AliTPCdigit.h [deleted file]
TPC/AliTPCeventInfo.cxx [deleted file]
TPC/AliTPCeventInfo.h [deleted file]
TPC/Attic/AliTPCCalibTCF.cxx [moved from TPC/AliTPCCalibTCF.cxx with 84% similarity]
TPC/Attic/AliTPCCalibTCF.h [moved from TPC/AliTPCCalibTCF.h with 94% similarity]
TPC/Attic/AliTPCHits2Clusters.C [moved from TPC/AliTPCHits2Clusters.C with 100% similarity]
TPC/Attic/AliTPCTransformation.cxx [moved from TPC/AliTPCTransformation.cxx with 100% similarity]
TPC/Attic/AliTPCTransformation.h [moved from TPC/AliTPCTransformation.h with 100% similarity]
TPC/Attic/AliTPCkalmanFit.cxx [moved from TPC/AliTPCkalmanFit.cxx with 100% similarity]
TPC/Attic/AliTPCkalmanFit.h [moved from TPC/AliTPCkalmanFit.h with 100% similarity]
TPC/Base/AliDetectorParam.cxx [moved from TPC/AliDetectorParam.cxx with 100% similarity]
TPC/Base/AliDetectorParam.h [moved from TPC/AliDetectorParam.h with 100% similarity]
TPC/Base/AliDigits.cxx [moved from TPC/AliDigits.cxx with 100% similarity]
TPC/Base/AliDigits.h [moved from TPC/AliDigits.h with 100% similarity]
TPC/Base/AliDigitsArray.cxx [moved from TPC/AliDigitsArray.cxx with 100% similarity]
TPC/Base/AliDigitsArray.h [moved from TPC/AliDigitsArray.h with 100% similarity]
TPC/Base/AliSegmentArray.cxx [moved from TPC/AliSegmentArray.cxx with 100% similarity]
TPC/Base/AliSegmentArray.h [moved from TPC/AliSegmentArray.h with 100% similarity]
TPC/Base/AliSegmentID.cxx [moved from TPC/AliSegmentID.cxx with 100% similarity]
TPC/Base/AliSegmentID.h [moved from TPC/AliSegmentID.h with 100% similarity]
TPC/Base/AliSimDigits.cxx [moved from TPC/AliSimDigits.cxx with 93% similarity]
TPC/Base/AliSimDigits.h [moved from TPC/AliSimDigits.h with 97% similarity]
TPC/Base/AliTPCAltroMapping.cxx [moved from TPC/AliTPCAltroMapping.cxx with 100% similarity]
TPC/Base/AliTPCAltroMapping.h [moved from TPC/AliTPCAltroMapping.h with 100% similarity]
TPC/Base/AliTPCBoundaryVoltError.cxx [moved from TPC/AliTPCBoundaryVoltError.cxx with 100% similarity]
TPC/Base/AliTPCBoundaryVoltError.h [moved from TPC/AliTPCBoundaryVoltError.h with 100% similarity]
TPC/Base/AliTPCCalPad.cxx [moved from TPC/AliTPCCalPad.cxx with 100% similarity]
TPC/Base/AliTPCCalPad.h [moved from TPC/AliTPCCalPad.h with 100% similarity]
TPC/Base/AliTPCCalROC.cxx [moved from TPC/AliTPCCalROC.cxx with 100% similarity]
TPC/Base/AliTPCCalROC.h [moved from TPC/AliTPCCalROC.h with 99% similarity]
TPC/Base/AliTPCCalibCE.cxx [moved from TPC/AliTPCCalibCE.cxx with 99% similarity]
TPC/Base/AliTPCCalibCE.h [moved from TPC/AliTPCCalibCE.h with 99% similarity]
TPC/Base/AliTPCCalibGlobalMisalignment.cxx [moved from TPC/AliTPCCalibGlobalMisalignment.cxx with 100% similarity]
TPC/Base/AliTPCCalibGlobalMisalignment.h [moved from TPC/AliTPCCalibGlobalMisalignment.h with 100% similarity]
TPC/Base/AliTPCCalibPedestal.cxx [moved from TPC/AliTPCCalibPedestal.cxx with 98% similarity]
TPC/Base/AliTPCCalibPedestal.h [moved from TPC/AliTPCCalibPedestal.h with 99% similarity]
TPC/Base/AliTPCCalibPulser.cxx [moved from TPC/AliTPCCalibPulser.cxx with 99% similarity]
TPC/Base/AliTPCCalibPulser.h [moved from TPC/AliTPCCalibPulser.h with 99% similarity]
TPC/Base/AliTPCCalibRaw.cxx [moved from TPC/AliTPCCalibRaw.cxx with 100% similarity]
TPC/Base/AliTPCCalibRaw.h [moved from TPC/AliTPCCalibRaw.h with 100% similarity]
TPC/Base/AliTPCCalibRawBase.cxx [moved from TPC/AliTPCCalibRawBase.cxx with 82% similarity]
TPC/Base/AliTPCCalibRawBase.h [moved from TPC/AliTPCCalibRawBase.h with 96% similarity]
TPC/Base/AliTPCCalibVdrift.cxx [moved from TPC/AliTPCCalibVdrift.cxx with 100% similarity]
TPC/Base/AliTPCCalibVdrift.h [moved from TPC/AliTPCCalibVdrift.h with 100% similarity]
TPC/Base/AliTPCComposedCorrection.cxx [moved from TPC/AliTPCComposedCorrection.cxx with 100% similarity]
TPC/Base/AliTPCComposedCorrection.h [moved from TPC/AliTPCComposedCorrection.h with 100% similarity]
TPC/Base/AliTPCConfigDA.cxx [moved from TPC/AliTPCConfigDA.cxx with 100% similarity]
TPC/Base/AliTPCConfigDA.h [moved from TPC/AliTPCConfigDA.h with 100% similarity]
TPC/Base/AliTPCConfigParser.cxx [moved from TPC/AliTPCConfigParser.cxx with 100% similarity]
TPC/Base/AliTPCConfigParser.h [moved from TPC/AliTPCConfigParser.h with 100% similarity]
TPC/Base/AliTPCCorrection.cxx [moved from TPC/AliTPCCorrection.cxx with 100% similarity]
TPC/Base/AliTPCCorrection.h [moved from TPC/AliTPCCorrection.h with 100% similarity]
TPC/Base/AliTPCCorrectionDrift.cxx [moved from TPC/AliTPCCorrectionDrift.cxx with 100% similarity]
TPC/Base/AliTPCCorrectionDrift.h [moved from TPC/AliTPCCorrectionDrift.h with 100% similarity]
TPC/Base/AliTPCDigitsArray.cxx [moved from TPC/AliTPCDigitsArray.cxx with 100% similarity]
TPC/Base/AliTPCDigitsArray.h [moved from TPC/AliTPCDigitsArray.h with 100% similarity]
TPC/Base/AliTPCExB.cxx [moved from TPC/AliTPCExB.cxx with 100% similarity]
TPC/Base/AliTPCExB.h [moved from TPC/AliTPCExB.h with 100% similarity]
TPC/Base/AliTPCExBBShape.cxx [moved from TPC/AliTPCExBBShape.cxx with 100% similarity]
TPC/Base/AliTPCExBBShape.h [moved from TPC/AliTPCExBBShape.h with 100% similarity]
TPC/Base/AliTPCExBEffective.cxx [moved from TPC/AliTPCExBEffective.cxx with 100% similarity]
TPC/Base/AliTPCExBEffective.h [moved from TPC/AliTPCExBEffective.h with 100% similarity]
TPC/Base/AliTPCExBEffectiveSector.cxx [moved from TPC/AliTPCExBEffectiveSector.cxx with 100% similarity]
TPC/Base/AliTPCExBEffectiveSector.h [moved from TPC/AliTPCExBEffectiveSector.h with 100% similarity]
TPC/Base/AliTPCExBExact.cxx [moved from TPC/AliTPCExBExact.cxx with 100% similarity]
TPC/Base/AliTPCExBExact.h [moved from TPC/AliTPCExBExact.h with 100% similarity]
TPC/Base/AliTPCExBFirst.cxx [moved from TPC/AliTPCExBFirst.cxx with 100% similarity]
TPC/Base/AliTPCExBFirst.h [moved from TPC/AliTPCExBFirst.h with 100% similarity]
TPC/Base/AliTPCExBTwist.cxx [moved from TPC/AliTPCExBTwist.cxx with 100% similarity]
TPC/Base/AliTPCExBTwist.h [moved from TPC/AliTPCExBTwist.h with 100% similarity]
TPC/Base/AliTPCFCVoltError3D.cxx [moved from TPC/AliTPCFCVoltError3D.cxx with 100% similarity]
TPC/Base/AliTPCFCVoltError3D.h [moved from TPC/AliTPCFCVoltError3D.h with 100% similarity]
TPC/Base/AliTPCGGVoltError.cxx [moved from TPC/AliTPCGGVoltError.cxx with 100% similarity]
TPC/Base/AliTPCGGVoltError.h [moved from TPC/AliTPCGGVoltError.h with 100% similarity]
TPC/Base/AliTPCInverseCorrection.cxx [moved from TPC/AliTPCInverseCorrection.cxx with 100% similarity]
TPC/Base/AliTPCInverseCorrection.h [moved from TPC/AliTPCInverseCorrection.h with 100% similarity]
TPC/Base/AliTPCLaserTrack.cxx [moved from TPC/AliTPCLaserTrack.cxx with 100% similarity]
TPC/Base/AliTPCLaserTrack.h [moved from TPC/AliTPCLaserTrack.h with 100% similarity]
TPC/Base/AliTPCLoader.cxx [moved from TPC/AliTPCLoader.cxx with 100% similarity]
TPC/Base/AliTPCLoader.h [moved from TPC/AliTPCLoader.h with 100% similarity]
TPC/Base/AliTPCPRF2D.cxx [moved from TPC/AliTPCPRF2D.cxx with 100% similarity]
TPC/Base/AliTPCPRF2D.h [moved from TPC/AliTPCPRF2D.h with 100% similarity]
TPC/Base/AliTPCParam.cxx [moved from TPC/AliTPCParam.cxx with 100% similarity]
TPC/Base/AliTPCParam.h [moved from TPC/AliTPCParam.h with 100% similarity]
TPC/Base/AliTPCParamSR.cxx [moved from TPC/AliTPCParamSR.cxx with 100% similarity]
TPC/Base/AliTPCParamSR.h [moved from TPC/AliTPCParamSR.h with 100% similarity]
TPC/Base/AliTPCPointCorrection.cxx [moved from TPC/AliTPCPointCorrection.cxx with 100% similarity]
TPC/Base/AliTPCPointCorrection.h [moved from TPC/AliTPCPointCorrection.h with 100% similarity]
TPC/Base/AliTPCPreprocessor.cxx [moved from TPC/AliTPCPreprocessor.cxx with 100% similarity]
TPC/Base/AliTPCPreprocessor.h [moved from TPC/AliTPCPreprocessor.h with 100% similarity]
TPC/Base/AliTPCQAChecker.cxx [moved from TPC/AliTPCQAChecker.cxx with 100% similarity]
TPC/Base/AliTPCQAChecker.h [moved from TPC/AliTPCQAChecker.h with 100% similarity]
TPC/Base/AliTPCRF1D.cxx [moved from TPC/AliTPCRF1D.cxx with 100% similarity]
TPC/Base/AliTPCRF1D.h [moved from TPC/AliTPCRF1D.h with 100% similarity]
TPC/Base/AliTPCROC.cxx [moved from TPC/AliTPCROC.cxx with 100% similarity]
TPC/Base/AliTPCROC.h [moved from TPC/AliTPCROC.h with 100% similarity]
TPC/Base/AliTPCROCVoltError3D.cxx [moved from TPC/AliTPCROCVoltError3D.cxx with 100% similarity]
TPC/Base/AliTPCROCVoltError3D.h [moved from TPC/AliTPCROCVoltError3D.h with 100% similarity]
TPC/Base/AliTPCRawStreamV3.cxx [moved from TPC/AliTPCRawStreamV3.cxx with 100% similarity]
TPC/Base/AliTPCRawStreamV3.h [moved from TPC/AliTPCRawStreamV3.h with 100% similarity]
TPC/Base/AliTPCSensorTemp.cxx [moved from TPC/AliTPCSensorTemp.cxx with 100% similarity]
TPC/Base/AliTPCSensorTemp.h [moved from TPC/AliTPCSensorTemp.h with 100% similarity]
TPC/Base/AliTPCSensorTempArray.cxx [moved from TPC/AliTPCSensorTempArray.cxx with 100% similarity]
TPC/Base/AliTPCSensorTempArray.h [moved from TPC/AliTPCSensorTempArray.h with 100% similarity]
TPC/Base/AliTPCSpaceCharge.cxx [moved from TPC/AliTPCSpaceCharge.cxx with 100% similarity]
TPC/Base/AliTPCSpaceCharge.h [moved from TPC/AliTPCSpaceCharge.h with 100% similarity]
TPC/Base/AliTPCSpaceCharge3D.cxx [moved from TPC/AliTPCSpaceCharge3D.cxx with 100% similarity]
TPC/Base/AliTPCSpaceCharge3D.h [moved from TPC/AliTPCSpaceCharge3D.h with 100% similarity]
TPC/Base/AliTPCTempMap.cxx [moved from TPC/AliTPCTempMap.cxx with 100% similarity]
TPC/Base/AliTPCTempMap.h [moved from TPC/AliTPCTempMap.h with 100% similarity]
TPC/Base/AliTPCTransform.cxx [moved from TPC/AliTPCTransform.cxx with 99% similarity]
TPC/Base/AliTPCTransform.h [moved from TPC/AliTPCTransform.h with 100% similarity]
TPC/Base/AliTPCcalibBase.cxx [moved from TPC/AliTPCcalibBase.cxx with 100% similarity]
TPC/Base/AliTPCcalibBase.h [moved from TPC/AliTPCcalibBase.h with 100% similarity]
TPC/Base/AliTPCcalibDB.cxx [moved from TPC/AliTPCcalibDB.cxx with 99% similarity]
TPC/Base/AliTPCcalibDB.h [moved from TPC/AliTPCcalibDB.h with 100% similarity]
TPC/Base/AliTPCcalibDButil.cxx [moved from TPC/AliTPCcalibDButil.cxx with 99% similarity]
TPC/Base/AliTPCcalibDButil.h [moved from TPC/AliTPCcalibDButil.h with 100% similarity]
TPC/Base/AliTPCdataQA.cxx [moved from TPC/AliTPCdataQA.cxx with 95% similarity]
TPC/Base/AliTPCdataQA.h [moved from TPC/AliTPCdataQA.h with 98% similarity]
TPC/Base/AliTPCmapper.cxx [moved from TPC/AliTPCmapper.cxx with 100% similarity]
TPC/Base/AliTPCmapper.h [moved from TPC/AliTPCmapper.h with 100% similarity]
TPC/Base/AliTransform.cxx [moved from TPC/AliTransform.cxx with 100% similarity]
TPC/Base/AliTransform.h [moved from TPC/AliTransform.h with 100% similarity]
TPC/Base/AliXRDPROOFtoolkit.cxx [moved from TPC/AliXRDPROOFtoolkit.cxx with 100% similarity]
TPC/Base/AliXRDPROOFtoolkit.h [moved from TPC/AliXRDPROOFtoolkit.h with 100% similarity]
TPC/CMakelibTPCbase.pkg
TPC/CMakelibTPCcalib.pkg
TPC/CMakelibTPCrec.pkg
TPC/CMakelibTPCutil.pkg [new file with mode: 0644]
TPC/FindKrClustersRaw.C
TPC/Rec/AliTPCRecoParam.cxx
TPC/Rec/AliTPCReconstructor.cxx
TPC/Rec/AliTPCReconstructor.h
TPC/Rec/AliTPCclusterer.cxx [moved from TPC/Rec/AliTPCclustererMI.cxx with 97% similarity]
TPC/Rec/AliTPCclusterer.h [moved from TPC/Rec/AliTPCclustererMI.h with 90% similarity]
TPC/Rec/AliTPCseed.cxx
TPC/Rec/AliTPCtrack.cxx
TPC/Rec/AliTPCtracker.cxx [moved from TPC/Rec/AliTPCtrackerMI.cxx with 97% similarity]
TPC/Rec/AliTPCtracker.h [moved from TPC/Rec/AliTPCtrackerMI.h with 92% similarity]
TPC/TPCCEda.cxx
TPC/TPCCEnewda.cxx
TPC/TPCPEDESTALda.cxx
TPC/TPCPULSERda.cxx
TPC/TPCQAda.cxx
TPC/TPCbaseLinkDef.h
TPC/TPCcalibLinkDef.h
TPC/TPCrecLinkDef.h
TPC/TPCutilLinkDef.h [new file with mode: 0644]
TPC/Util/AliTPCAlign.cxx [moved from TPC/AliTPCAlign.cxx with 100% similarity]
TPC/Util/AliTPCAlign.h [moved from TPC/AliTPCAlign.h with 100% similarity]
TPC/Util/AliTPCAltroEmulator.cxx [moved from TPC/AliTPCAltroEmulator.cxx with 100% similarity]
TPC/Util/AliTPCAltroEmulator.h [moved from TPC/AliTPCAltroEmulator.h with 100% similarity]
TPC/Util/AliTPCCalibQAChecker.cxx [moved from TPC/AliTPCCalibQAChecker.cxx with 100% similarity]
TPC/Util/AliTPCCalibQAChecker.h [moved from TPC/AliTPCCalibQAChecker.h with 100% similarity]
TPC/Util/AliTPCCalibViewerGUIAlarms.cxx [moved from TPC/AliTPCCalibViewerGUIAlarms.cxx with 100% similarity]
TPC/Util/AliTPCCalibViewerGUIAlarms.h [moved from TPC/AliTPCCalibViewerGUIAlarms.h with 100% similarity]
TPC/Util/AliTPCGenDBConf.cxx [moved from TPC/AliTPCGenDBConf.cxx with 100% similarity]
TPC/Util/AliTPCGenDBConf.h [moved from TPC/AliTPCGenDBConf.h with 100% similarity]
TPC/Util/AliTPCGenDBTemp.cxx [moved from TPC/AliTPCGenDBTemp.cxx with 100% similarity]
TPC/Util/AliTPCGenDBTemp.h [moved from TPC/AliTPCGenDBTemp.h with 100% similarity]
TPC/Util/AliTPCkalmanTime.cxx [moved from TPC/AliTPCkalmanTime.cxx with 100% similarity]
TPC/Util/AliTPCkalmanTime.h [moved from TPC/AliTPCkalmanTime.h with 100% similarity]
TPC/macros/recMag5.C
TPC/macros/recTPC2007.C
TPC/recTPC.C

diff --git a/TPC/AliESDcosmic.cxx b/TPC/AliESDcosmic.cxx
deleted file mode 100644 (file)
index 2487b3b..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-#include "TMath.h"
-#include "TArrayI.h"
-#include "TDatabasePDG.h"
-#include "TTreeStream.h"
-#include "TVectorD.h"
-
-
-#include "AliESDEvent.h"
-#include "AliESDtrack.h"
-#include "AliTracker.h"
-#include "AliESDcosmic.h"
-
-ClassImp(AliESDcosmic)
-
-AliESDcosmic::AliESDcosmic():
-    TObject(),
-    fESD(0),
-    fTracks(0),
-    fTracksAcorde(0),
-    fPair(0),
-    fDebugStreamer(0)
-{
-  //
-  //
-  //
-}
-
-
-AliESDcosmic::~AliESDcosmic(){
-  //
-  //
-  //
-  delete fPair;
-  delete fTracksAcorde;
-  
-}
-
-void AliESDcosmic::ProcessEvent(AliESDEvent* event){
-  //
-  //
-  //
-  fESD=event;
-  TString  string =  fESD->GetFiredTriggerClasses();
-  if (!(string.Contains("ASL"))) return;
-  //
-  const Float_t kCutMinDir=0.95;
-  const Float_t kMaxD=1000.;
-  Int_t ntracks=event->GetNumberOfTracks(); 
-  if (ntracks<=0) return;
-  if (!fTracks) fTracks= new TClonesArray("AliESDtrack",0);
-  fPair = new TArrayI(ntracks);
-
-  for (Int_t i=0;i<ntracks;++i) {
-    AliESDtrack *track0 = event->GetTrack(i); 
-    AliESDtrack *trackPair=0;
-    (*fPair)[i]=-1;
-    // track0 - choosen upper part
-    if (!track0) continue;
-    if (!track0->GetOuterParam()) continue; 
-    Double_t dir0[3];
-    track0->GetDirection(dir0); 
-    Float_t minDist=kMaxD;
-    //
-    for (Int_t j=i;j<ntracks;++j) {
-      AliESDtrack *track1 = event->GetTrack(j);   
-      //track 1 lower part
-      if (!track1) continue;
-      if (!track1->GetOuterParam()) continue;
-      Double_t dir1[3];
-      track1->GetDirection(dir1);
-      Float_t dir = (dir0[0]*dir1[0] + dir0[1]*dir1[1] + dir0[2]*dir1[2]);
-      if (TMath::Abs(dir)<kCutMinDir) continue;               // direction vector product 
-      //
-      // calculate distance
-      Float_t dy = (track0->GetY()+track1->GetY());
-      Float_t sy2 = track0->GetSigmaY2()+track1->GetSigmaY2();
-      Float_t dphi = (track0->GetAlpha()-track1->GetAlpha()-TMath::Pi());
-      Float_t sphi2  = track0->GetSigmaSnp2()+track1->GetSigmaSnp2();
-      Float_t dtheta = (track0->GetTgl()-track1->GetTgl());
-      Float_t stheta2 = track0->GetSigmaTgl2()+track1->GetSigmaTgl2();
-      Float_t normDist = TMath::Sqrt(dy*dy/sy2+dphi*dphi/sphi2+dtheta*dtheta/stheta2);
-      //
-      if (normDist>minDist) continue;    
-      minDist = normDist;
-      trackPair=track1;
-      (*fPair)[i]=j;
-    }
-    //
-  }
-  PropagateToAcorde();
-}
-
-
-void  AliESDcosmic::PropagateToAcorde(){
-  //
-  //
-  //
-  const Double_t kRL3=510;   // radius of L3 magnet
-  const Double_t kxAcorde=850.;
-  //
-  if (!fTracksAcorde) fTracksAcorde= new TClonesArray("AliExternalTrackParam",0);
-  Int_t ntracks=fESD->GetNumberOfTracks(); 
-  Int_t counter=0;
-  //
-  for (Int_t i=0; i<ntracks;i++){
-    Int_t index = i;
-    AliESDtrack * upperTrack = fESD->GetTrack(i);
-    if (upperTrack->GetOuterParam()==0) continue;
-    Double_t gxyz[3];
-    upperTrack->GetOuterParam()->GetXYZ(gxyz);
-    if ((*fPair)[i]>0){
-      AliESDtrack * track2 = fESD->GetTrack((*fPair)[i]);
-      if (track2->GetOuterParam()){
-       Double_t gxyz2[3];
-       track2->GetOuterParam()->GetXYZ(gxyz2);
-       if (gxyz2[1]>gxyz[1]) {
-         upperTrack=track2;
-         index=(*fPair)[i];
-       }
-      }
-    }
-    //
-    AliExternalTrackParam *upper = (AliExternalTrackParam *)(upperTrack->GetOuterParam()->Clone());
-    Bool_t isOK = upper->PropagateTo(kRL3,fESD->GetMagneticField());
-    upper->GetXYZ(gxyz);
-    if (gxyz[1]<0) continue;
-    for (Int_t iter=0; iter<20;iter++){
-      upper->GetXYZ(gxyz);
-      Double_t galpha = TMath::ATan2(gxyz[1],gxyz[0]);
-      Double_t alpha=galpha;
-      galpha*=180/TMath::Pi();
-      if (iter>1){
-       if (galpha<45.)   alpha = TMath::Pi()/8;
-       if (galpha>135.) alpha =  TMath::Pi()*(1-1/8.);
-       if (galpha>45.&&galpha<135.) alpha = TMath::Pi()/2.;
-      }
-      if (isOK) upper->Rotate(alpha);
-      if (isOK) isOK = upper->PropagateTo(kxAcorde,0);
-    }
-    if (isOK) {
-      new ((*fTracksAcorde)[index]) AliExternalTrackParam(*upper);
-      counter++;
-    }    
-  }
-}
-
-void AliESDcosmic::DumpToTree(){
-  //
-  //
-  //
-  TTreeSRedirector * cstream = fDebugStreamer;
-  if (!cstream) return;
-  if (!fESD) return;
-  if (!fTracksAcorde) return;
-  Int_t ntracks0 =fESD->GetNumberOfTracks(); 
-  Int_t ntracks  = fTracksAcorde->GetEntries();
-  Float_t mag = fESD->GetMagneticField();
-  Int_t   run = fESD->GetRunNumber();
-  Int_t   event = fESD->GetEventNumberInFile();
-  AliESDHeader* header = fESD->GetHeader();
-  
-  (*cstream)<<"eventInfo"<<
-    "run="<<run<<
-    "event="<<event<<
-    "header="<<header<<
-    "mag="<<mag<<
-    "ntracks0="<<ntracks0<<
-    "ntracks="<<ntracks<<    
-    "\n";
-    
-  for (Int_t i=0;i<ntracks;i++){
-    if (!fTracksAcorde->At(i)) continue;
-    TVectorD gxyz(3);
-    TVectorD gpxyz(3);
-    AliExternalTrackParam * param = (AliExternalTrackParam *)fTracksAcorde->At(i);
-    param->GetXYZ(gxyz.GetMatrixArray());
-    param->GetPxPyPz(gpxyz.GetMatrixArray());
-    (*cstream) << "esdCosmic" <<  
-      "run="<<run<<
-      "event="<<event<<
-      "header="<<header<<
-      "mag="<<mag<<
-      "ntracks0="<<ntracks0<<
-      "ntracks="<<ntracks<<      
-      "tr.="<<param<<
-      "p.="<<&gxyz<<
-      "m.="<<&gpxyz<<
-      "\n";
-  }
-    
-}
-
diff --git a/TPC/AliESDcosmic.h b/TPC/AliESDcosmic.h
deleted file mode 100644 (file)
index f7280e8..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef ALIESDCOSMIC_H
-#define ALIESDCOSMIC_H
-
-#include "TObject.h"
-
-class AliESDEvent;
-class TArrayI;
-class TTreeSRedirector;
-
-class AliESDcosmic:public TObject {
-public:
-
-  AliESDcosmic();
-  virtual ~AliESDcosmic();
-  void ProcessEvent(AliESDEvent* event);
-  void PropagateToAcorde();
-  void DumpToTree();
-  void SetDebugStreamer(TTreeSRedirector *cstream){fDebugStreamer=cstream;}
-public:
-  const AliESDEvent  *fESD;            //! associated  ESD event
-  TClonesArray * fTracks;        // array  of combined tracks
-  TClonesArray * fTracksAcorde;  // array  of combined tracks extrapolated to acorde
-  TArrayI      * fPair;           // connected track
-  TTreeSRedirector *fDebugStreamer; // debug streamer
-private:
-  AliESDcosmic&  operator=(const AliESDcosmic&);// not implemented
-  AliESDcosmic(const AliESDcosmic&); //not implemented
-
-  ClassDef(AliESDcosmic,1)
-};
-
-#endif
diff --git a/TPC/AliTPCCalDet.cxx b/TPC/AliTPCCalDet.cxx
deleted file mode 100644 (file)
index ebb7729..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-//  TPC calibration class for parameters which saved per detector            //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
-
-#include "AliTPCCalDet.h"
-
-ClassImp(AliTPCCalDet)
-
-//_____________________________________ ________________________________________
-AliTPCCalDet::AliTPCCalDet():TNamed()
-{
-  //
-  // AliTPCCalDet default constructor
-  //
-
-  for (Int_t idet = 0; idet < kNdet; idet++) {
-    fData[idet] = 0;
-  }
-
-}
-
-//_____________________________________________________________________________
-AliTPCCalDet::AliTPCCalDet(const Text_t *name, const Text_t *title)
-                :TNamed(name,title)
-{
-  //
-  // AliTPCCalDet constructor
-  //
-
-  for (Int_t idet = 0; idet < kNdet; idet++) {
-    fData[idet] = 0;
-  }
-
-}
-
-
-//_____________________________________________________________________________
-AliTPCCalDet::AliTPCCalDet(const AliTPCCalDet &c):TNamed(c)
-{
-  //
-  // AliTPCCalDet copy constructor
-  //
-
-  ((AliTPCCalDet &) c).Copy(*this);
-
-}
-
-///_____________________________________________________________________________
-AliTPCCalDet::~AliTPCCalDet()
-{
-  //
-  // AliTPCCalDet destructor
-  //
-
-}
-
-//_____________________________________________________________________________
-AliTPCCalDet &AliTPCCalDet::operator=(const AliTPCCalDet &c)
-{
-  //
-  // Assignment operator
-  //
-
-  if (this != &c) ((AliTPCCalDet &) c).Copy(*this);
-  return *this;
-
-}
-
-//_____________________________________________________________________________
-void AliTPCCalDet::Copy(TObject &c) const
-{
-  //
-  // Copy function
-  //
-
-  for (Int_t idet = 0; idet < kNdet; idet++) {
-    ((AliTPCCalDet &) c).fData[idet] = fData[idet];
-  }
-
-  TObject::Copy(c);
-
-}
-
diff --git a/TPC/AliTPCCalDet.h b/TPC/AliTPCCalDet.h
deleted file mode 100644 (file)
index 9a62249..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef ALITPCCALDET_H
-#define ALITPCCALDET_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-//  TPC calibration class for parameters which are saved per detector        //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
-
-#include "TNamed.h"
-
-class AliTPCCalDet : public TNamed {
- public: 
-  enum { kNdet = 72 };
-  AliTPCCalDet();
-  AliTPCCalDet(const Text_t* name, const Text_t* title);
-  AliTPCCalDet(const AliTPCCalDet &c);   
-  virtual ~AliTPCCalDet();
-  AliTPCCalDet &operator=(const AliTPCCalDet &c);
-  virtual void     Copy(TObject &c) const;
-  Float_t GetValue(Int_t d) { return fData[d]; };
-  void SetValue(Int_t d, Float_t value) { fData[d] = value; };
- protected: 
-  Float_t  fData[kNdet];                        // [kNdet] Data
-  ClassDef(AliTPCCalDet,1)                      // TPC calibration class for parameters which are saved per detector
-};
-
-#endif
index 36d9c89..8ecdbbd 100644 (file)
 #include "AliRawReader.h"\r
 #include "AliRawReaderRoot.h"\r
 #include "AliRawReaderDate.h"\r
-#include "AliTPCRawStream.h"\r
 #include "AliTPCCalROC.h"\r
 #include "AliTPCCalPad.h"\r
 #include "AliTPCROC.h"\r
 #include "AliMathBase.h"\r
 #include "TTreeStream.h"\r
-//#include "AliTPCRawStreamFast.h"\r
 \r
 //date\r
 #include "event.h"\r
index 7b39f62..5356eca 100644 (file)
@@ -85,7 +85,6 @@ using namespace std;
 #include "AliRawReader.h"
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCCalROC.h"
 #include "AliTPCCalPad.h"
 #include "AliTPCROC.h"
diff --git a/TPC/AliTPCCalibSignal.cxx b/TPC/AliTPCCalibSignal.cxx
deleted file mode 100644 (file)
index 40ab3dd..0000000
+++ /dev/null
@@ -1,840 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-
-
-
-
-//-------------------------------------------------------
-//          Implementation of the TPC pulser calibration
-//
-//   Origin: Jens Wiechula, Marian Ivanov   J.Wiechula@gsi.de, Marian.Ivanov@cern.ch
-// 
-// 
-//-------------------------------------------------------
-
-
-/* $Id$ */
-
-
-
-//Root includes
-#include <TObjArray.h>
-#include <TH1F.h>
-#include <TH2S.h>
-#include <TString.h>
-#include <TVectorF.h>
-#include <TMath.h>
-
-#include <TDirectory.h>
-#include <TSystem.h>
-#include <TFile.h>
-
-//AliRoot includes
-#include "AliRawReader.h"
-#include "AliRawReaderRoot.h"
-#include "AliRawReaderDate.h"
-#include "AliTPCRawStream.h"
-#include "AliTPCCalROC.h"
-#include "AliTPCCalPad.h"
-#include "AliTPCROC.h"
-#include "AliTPCParam.h"
-#include "AliTPCCalibSignal.h"
-#include "AliTPCcalibDB.h"
-#include "AliMathBase.h"
-#include "TTreeStream.h"
-
-//date
-#include "event.h"
-ClassImp(AliTPCCalibSignal) /*FOLD00*/
-
-AliTPCCalibSignal::AliTPCCalibSignal() : /*FOLD00*/
-    TObject(),
-    fFirstTimeBin(60),
-    fLastTimeBin(120),
-    fFirstTimeBinT0(-15),
-    fLastTimeBinT0(15),
-    fNbinsT0(200),
-    fXminT0(-2),
-    fXmaxT0(2),
-    fNbinsQ(200),
-    fXminQ(14),
-    fXmaxQ(55),
-    fNbinsRMS(100),
-    fXminRMS(0),
-    fXmaxRMS(5),
-    fLastSector(-1),
-    fROC(AliTPCROC::Instance()),
-    fParam(new AliTPCParam),
-    fPedestalTPC(0x0),
-    fBpedestal(kFALSE),
-    fCalRocArrayT0(72),
-    fCalRocArrayQ(72),
-    fCalRocArrayRMS(72),
-    fCalRocArrayOutliers(72),
-    fHistoQArray(72),
-    fHistoT0Array(72),
-    fHistoRMSArray(72),
-    fPadTimesArrayEvent(72),
-    fPadQArrayEvent(72),
-    fPadRMSArrayEvent(72),
-    fPadPedestalArrayEvent(72),
-    fCurrentChannel(-1),
-    fCurrentSector(-1),
-    fCurrentRow(-1),
-    fMaxPadSignal(-1),
-    fMaxTimeBin(-1),
-    fPadSignal(1024),
-    fVTime0Offset1(72),
-    fVTime0Offset1Counter(72),
-    fEvent(-1),
-    fDebugStreamer(0x0),
-    fDebugLevel(0)
-{
-    //
-    // AliTPCSignal default constructor
-    //
-
-}
-//_____________________________________________________________________
-AliTPCCalibSignal::AliTPCCalibSignal(const AliTPCCalibSignal &sig) :
-    TObject(sig),
-    fFirstTimeBin(sig.fFirstTimeBin),
-    fLastTimeBin(sig.fLastTimeBin),
-    fFirstTimeBinT0(sig.fFirstTimeBinT0),
-    fLastTimeBinT0(sig.fLastTimeBinT0),
-    fNbinsT0(sig.fNbinsT0),
-    fXminT0(sig.fXminT0),
-    fXmaxT0(sig.fXmaxT0),
-    fNbinsQ(sig.fNbinsQ),
-    fXminQ(sig.fXminQ),
-    fXmaxQ(sig.fXmaxQ),
-    fNbinsRMS(sig.fNbinsRMS),
-    fXminRMS(sig.fXminRMS),
-    fXmaxRMS(sig.fXmaxRMS),
-    fLastSector(-1),
-    fROC(AliTPCROC::Instance()),
-    fParam(new AliTPCParam),
-    fPedestalTPC(sig.fPedestalTPC),
-    fBpedestal(sig.fBpedestal),
-    fCalRocArrayT0(72),
-    fCalRocArrayQ(72),
-    fCalRocArrayRMS(72),
-    fCalRocArrayOutliers(72),
-    fHistoQArray(72),
-    fHistoT0Array(72),
-    fHistoRMSArray(72),
-    fPadTimesArrayEvent(72),
-    fPadQArrayEvent(72),
-    fPadRMSArrayEvent(72),
-    fPadPedestalArrayEvent(72),
-    fCurrentChannel(-1),
-    fCurrentSector(-1),
-    fCurrentRow(-1),
-    fMaxPadSignal(-1),
-    fMaxTimeBin(-1),
-    fPadSignal(1024),
-    fVTime0Offset1(72),
-    fVTime0Offset1Counter(72),
-    fEvent(-1),
-    fDebugStreamer(0x0),
-    fDebugLevel(sig.fDebugLevel)
-{
-    //
-    // AliTPCSignal default constructor
-    //
-
-    for (Int_t iSec = 0; iSec < 72; iSec++){
-       const AliTPCCalROC *calQ   = (AliTPCCalROC*)sig.fCalRocArrayQ.UncheckedAt(iSec);
-       const AliTPCCalROC *calT0  = (AliTPCCalROC*)sig.fCalRocArrayT0.UncheckedAt(iSec);
-       const AliTPCCalROC *calRMS = (AliTPCCalROC*)sig.fCalRocArrayRMS.UncheckedAt(iSec);
-        const AliTPCCalROC *calOut = (AliTPCCalROC*)sig.fCalRocArrayOutliers.UncheckedAt(iSec);
-
-       const TH2S *hQ   = (TH2S*)sig.fHistoQArray.UncheckedAt(iSec);
-       const TH2S *hT0  = (TH2S*)sig.fHistoT0Array.UncheckedAt(iSec);
-        const TH2S *hRMS = (TH2S*)sig.fHistoRMSArray.UncheckedAt(iSec);
-
-       if ( calQ   != 0x0 ) fCalRocArrayQ.AddAt(new AliTPCCalROC(*calQ), iSec);
-       if ( calT0  != 0x0 ) fCalRocArrayT0.AddAt(new AliTPCCalROC(*calT0), iSec);
-       if ( calRMS != 0x0 ) fCalRocArrayRMS.AddAt(new AliTPCCalROC(*calRMS), iSec);
-        if ( calOut != 0x0 ) fCalRocArrayOutliers.AddAt(new AliTPCCalROC(*calOut), iSec);
-
-       if ( hQ != 0x0 ){
-           TH2S *hNew = new TH2S(*hQ);
-           hNew->SetDirectory(0);
-           fHistoQArray.AddAt(hNew,iSec);
-       }
-       if ( hT0 != 0x0 ){
-           TH2S *hNew = new TH2S(*hT0);
-           hNew->SetDirectory(0);
-           fHistoQArray.AddAt(hNew,iSec);
-       }
-       if ( hRMS != 0x0 ){
-           TH2S *hNew = new TH2S(*hRMS);
-           hNew->SetDirectory(0);
-           fHistoQArray.AddAt(hNew,iSec);
-       }
-    }
-
-}
-//_____________________________________________________________________
-AliTPCCalibSignal& AliTPCCalibSignal::operator = (const  AliTPCCalibSignal &source)
-{
-  //
-  // assignment operator
-  //
-  if (&source == this) return *this;
-  new (this) AliTPCCalibSignal(source);
-
-  return *this;
-}
-//_____________________________________________________________________
-AliTPCCalibSignal::~AliTPCCalibSignal()
-{
-    //
-    // destructor
-    //
-
-    fCalRocArrayT0.Delete();
-    fCalRocArrayQ.Delete();
-    fCalRocArrayRMS.Delete();
-
-    fHistoQArray.Delete();
-    fHistoT0Array.Delete();
-    fHistoRMSArray.Delete();
-
-    fPadTimesArrayEvent.Delete();
-    fPadQArrayEvent.Delete();
-    fPadRMSArrayEvent.Delete();
-    fPadPedestalArrayEvent.Delete();
-
-    if ( fDebugStreamer) delete fDebugStreamer;
-    delete fROC;
-    delete fParam;
-}
-//_____________________________________________________________________
-Int_t AliTPCCalibSignal::Update(const Int_t icsector, /*FOLD00*/
-                               const Int_t icRow,
-                               const Int_t icPad,
-                               const Int_t icTimeBin,
-                               const Float_t csignal)
-{
-    //
-    // Signal filling methode on the fly pedestal and Time offset correction if necessary.
-    // no extra analysis necessary. Assumes knowledge of the signal shape!
-    // assumes that it is looped over consecutive time bins of one pad
-    //
-    if ( (icTimeBin>fLastTimeBin) || (icTimeBin<fFirstTimeBin)   ) return 0;
-
-    Int_t iChannel  = fROC->GetRowIndexes(icsector)[icRow]+icPad; //  global pad position in sector
-
-    //init first pad and sector in this event
-    if ( fCurrentChannel == -1 ) {
-       fCurrentChannel = iChannel;
-       fCurrentSector  = icsector;
-        fCurrentRow     = icRow;
-    }
-
-    //process last pad if we change to a new one
-    if ( iChannel != fCurrentChannel ){
-        ProcessPad();
-       fCurrentChannel = iChannel;
-       fCurrentSector  = icsector;
-        fCurrentRow     = icRow;
-    }
-
-    //fill signals for current pad
-    fPadSignal[icTimeBin]=csignal;
-    if ( csignal > fMaxPadSignal ){
-       fMaxPadSignal = csignal;
-       fMaxTimeBin   = icTimeBin;
-    }
-    return 0;
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::ProcessPad() /*FOLD00*/
-{
-    //
-    //  Process data of current pad
-    //
-
-    Float_t pedestal = 0;
-
-    if ( fBpedestal ){
-        //!!!!!!! does not work like this
-        //use pedestal database
-       AliTPCCalROC *pedestalROC = 0x0;
-
-        //only load new pedestals if the sector has changed
-       if ( fCurrentSector!=fLastSector ){
-           pedestalROC = fPedestalTPC->GetCalROC(fCurrentSector);
-           fLastSector=fCurrentSector;
-       }
-
-       pedestal = pedestalROC->GetValue(fCurrentChannel);
-
-    } else {
-
-       //find pedestal for pad on the fly
-        //using a few timebins before the signal
-       Int_t pminus1 = 10, pminus2=5;
-       Float_t sumN=0;
-
-       for (Int_t i=fMaxTimeBin-pminus1; i<fMaxTimeBin-pminus2+1; i++){
-           if ( i>fFirstTimeBin && i<fLastTimeBin ){
-               pedestal+=fPadSignal[i];
-               sumN+=1.;
-           }
-       }
-
-       if ( sumN>0 ) pedestal/=sumN;
-    }
-
-
-
-    //!!!! check borders
-    //find signal mean and sigma
-    Int_t tminus = 2, tplus=7;
-    Double_t meanT=0, sigmaT=0, Qsum=0;
-
-
-    for (Int_t i=fMaxTimeBin-tminus; i<fMaxTimeBin+tplus; i++){
-       if ( i>=fFirstTimeBin && i<=fLastTimeBin ){
-           Double_t val=fPadSignal[i]-pedestal;
-           meanT+=val*(i+.5);      //+.5: center of the timebin
-            sigmaT+=val*(i+.5)*(i+.5);
-           Qsum+=val;
-       }
-    }
-
-
-
-    //!!!! What to do if Qsum == 0???
-    //!!!! Should there be some threshold for max - pedestal and/or Qsum???
-    //!!!! What if Qsum < 0
-    //!!!! only fill time0 offset if Qsum > 0???
-    if ( Qsum > 0 ){
-       meanT/=Qsum;
-       sigmaT/=Qsum;
-       sigmaT = TMath::Sqrt(TMath::Abs(meanT*meanT - sigmaT));
-
-       //fill Time0 offset data for this event
-       fVTime0Offset1[fCurrentSector]+=meanT;
-       fVTime0Offset1Counter[fCurrentSector]++;
-    } else {
-        Qsum=0;
-       meanT  = fLastTimeBinT0+1;               //put to overflow bin
-       sigmaT = fLastTimeBinT0-fFirstTimeBinT0; //put to overflow bin
-    }
-
-    //Fill Event T0 counter
-    (*GetPadTimesEvent(fCurrentSector,kTRUE))[fCurrentChannel] = meanT;
-
-
-    //Normalise Q to pad area of irocs
-    Float_t norm = fParam->GetPadPitchWidth(0)*fParam->GetPadPitchLength(0,0)/(
-       fParam->GetPadPitchWidth(fCurrentSector)*fParam->GetPadPitchLength(fCurrentSector,fCurrentRow));
-
-    //Fill Q histogram
-    GetHistoQ(fCurrentSector,kTRUE)->Fill( TMath::Sqrt(Qsum*norm), fCurrentChannel );
-
-    //Fill RMS histogram
-    GetHistoRMS(fCurrentSector,kTRUE)->Fill( sigmaT, fCurrentChannel );
-
-
-    //Fill debugging info
-    if ( fDebugLevel>0 ){
-       (*GetPadPedestalEvent(fCurrentSector,kTRUE))[fCurrentChannel]=pedestal;
-       (*GetPadRMSEvent(fCurrentSector,kTRUE))[fCurrentChannel]=sigmaT;
-       (*GetPadQEvent(fCurrentSector,kTRUE))[fCurrentChannel]=Qsum;
-    }
-
-    ResetPad();
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::EndEvent() /*FOLD00*/
-{
-    //
-    //  Process data of current pad
-    //
-    //check if last pad has allready been processed, if not do so
-    if ( fMaxTimeBin>-1 ) ProcessPad();
-
-    //loop over all ROCs, fill Time0 histogram corrected for the mean Time0 of each ROC
-    for ( Int_t iSec = 0; iSec<72; iSec++ ){
-       TVectorF *vTimes = GetPadTimesEvent(iSec);
-        if ( !vTimes ) continue;
-
-       for ( UInt_t iChannel=0; iChannel<fROC->GetNChannels(iSec); iChannel++ ){
-           Float_t Time0 = fVTime0Offset1[iSec]/fVTime0Offset1Counter[iSec];
-           Float_t Time  = (*vTimes)[iChannel];
-
-            GetHistoT0(iSec,kTRUE)->Fill( Time-Time0,iChannel );
-
-
-           //Debug start
-           if ( fDebugLevel>0 ){
-               if ( !fDebugStreamer ) {
-                        //debug stream
-                   TDirectory *backup = gDirectory;
-                   fDebugStreamer = new TTreeSRedirector("deb2.root");
-                   if ( backup ) backup->cd();  //we don't want to be cd'd to the debug streamer
-               }
-
-               Int_t row=0;
-               Int_t pad=0;
-               Int_t padc=0;
-
-               Float_t Q   = (*GetPadQEvent(iSec))[iChannel];
-                Float_t RMS = (*GetPadRMSEvent(iSec))[iChannel];
-
-               UInt_t channel=iChannel;
-               Int_t sector=iSec;
-
-               while ( channel > (fROC->GetRowIndexes(sector)[row]+fROC->GetNPads(sector,row)-1) ) row++;
-               pad = channel-fROC->GetRowIndexes(sector)[row];
-               padc = pad-(fROC->GetNPads(sector,row)/2);
-
-               TH1F *h1 = new TH1F(Form("hSignalD%d.%d.%d",sector,row,pad),
-                                   Form("hSignalD%d.%d.%d",sector,row,pad),
-                                   fLastTimeBin-fFirstTimeBin,
-                                   fFirstTimeBin,fLastTimeBin);
-               h1->SetDirectory(0);
-
-               for (Int_t i=fFirstTimeBin; i<fLastTimeBin+1; i++)
-                   h1->Fill(i,fPadSignal(i));
-
-               (*fDebugStreamer) << "DataPad" <<
-                   "Event=" << fEvent <<
-                   "Sector="<< sector <<
-                   "Row="   << row<<
-                   "Pad="   << pad <<
-                   "PadC="  << padc <<
-                   "PadSec="<< channel <<
-                   "Time0="  << Time0 <<
-                   "Time="  << Time <<
-                   "RMS="   << RMS <<
-                   "Sum="   << Q <<
-                   "hist.=" << h1 <<
-                   "\n";
-
-               delete h1;
-           }
-           //Debug end
-
-       }
-    }
-
-}
-//_____________________________________________________________________
-Bool_t AliTPCCalibSignal::ProcessEvent(AliTPCRawStream *rawStream) /*FOLD00*/
-{
-  //
-  // Event Processing loop - AliTPCRawStream
-  //
-
-  ResetEvent();
-
-  Bool_t withInput = kFALSE;
-
-  while (rawStream->Next()) {
-
-      Int_t isector  = rawStream->GetSector();                       //  current sector
-      Int_t iRow     = rawStream->GetRow();                          //  current row
-      Int_t iPad     = rawStream->GetPad();                          //  current pad
-      Int_t iTimeBin = rawStream->GetTime();                         //  current time bin
-      Float_t signal = rawStream->GetSignal();                       //  current ADC signal
-
-      Update(isector,iRow,iPad,iTimeBin,signal);
-      withInput = kTRUE;
-  }
-
-  if (withInput){
-      EndEvent();
-  }
-
-  return withInput;
-}
-//_____________________________________________________________________
-Bool_t AliTPCCalibSignal::ProcessEvent(AliRawReader *rawReader)
-{
-  //
-  //  Event processing loop - AliRawReader
-  //
-
-
-  AliTPCRawStream rawStream(rawReader);
-
-  rawReader->Select("TPC");
-
-  return ProcessEvent(&rawStream);
-}
-//_____________________________________________________________________
-Bool_t AliTPCCalibSignal::ProcessEvent(eventHeaderStruct *event)
-{
-  //
-  //  Event processing loop - date event
-  //
-    AliRawReader *rawReader = new AliRawReaderDate((void*)event);
-    Bool_t result=ProcessEvent(rawReader);
-    delete rawReader;
-    return result;
-
-}
-//_____________________________________________________________________
-TH2S* AliTPCCalibSignal::GetHisto(Int_t sector, TObjArray *arr, /*FOLD00*/
-                                 Int_t nbinsY, Float_t ymin, Float_t ymax,
-                                 Char_t *type, Bool_t force)
-{
-    //
-    // return pointer to Q histogram
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    if ( !force || arr->UncheckedAt(sector) )
-       return (TH2S*)arr->UncheckedAt(sector);
-
-    // if we are forced and histogram doesn't yes exist create it
-    Char_t name[255], title[255];
-
-    snprintf(name,255,"hCalib%s%.2d",type,sector);
-    snprintf(title,255,"%s calibration histogram sector %.2d",type,sector);
-
-    // new histogram with Q calib information. One value for each pad!
-    TH2S* hist = new TH2S(name,title,
-                         nbinsY, ymin, ymax,
-                         fROC->GetNChannels(sector),0,fROC->GetNChannels(sector));
-    hist->SetDirectory(0);
-    arr->AddAt(hist,sector);
-    return hist;
-}
-//_____________________________________________________________________
-TH2S* AliTPCCalibSignal::GetHistoT0(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to T0 histogram
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fHistoT0Array;
-    return GetHisto(sector, arr, fNbinsT0, fXminT0, fXmaxT0, "T0", force);
-}
-//_____________________________________________________________________
-TH2S* AliTPCCalibSignal::GetHistoQ(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Q histogram
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fHistoQArray;
-    return GetHisto(sector, arr, fNbinsQ, fXminQ, fXmaxQ, "Q", force);
-}
-//_____________________________________________________________________
-TH2S* AliTPCCalibSignal::GetHistoRMS(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Q histogram
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fHistoRMSArray;
-    return GetHisto(sector, arr, fNbinsRMS, fXminRMS, fXmaxRMS, "RMS", force);
-}
-//_____________________________________________________________________
-TVectorF* AliTPCCalibSignal::GetPadInfoEvent(Int_t sector, TObjArray *arr, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Pad Info from 'arr' for the current event and sector
-    // if force is true create it if it doesn't exist allready
-    //
-    if ( !force || arr->UncheckedAt(sector) )
-       return (TVectorF*)arr->UncheckedAt(sector);
-
-    TVectorF *vect = new TVectorF(fROC->GetNChannels(sector));
-    arr->AddAt(vect,sector);
-    return vect;
-}
-//_____________________________________________________________________
-TVectorF* AliTPCCalibSignal::GetPadTimesEvent(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Pad Times Array for the current event and sector
-    // if force is true create it if it doesn't exist allready
-    //
-    TObjArray *arr = &fPadTimesArrayEvent;
-    return GetPadInfoEvent(sector,arr,force);
-}
-//_____________________________________________________________________
-TVectorF* AliTPCCalibSignal::GetPadQEvent(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Pad Q Array for the current event and sector
-    // if force is true create it if it doesn't exist allready
-    // for debugging purposes only
-    //
-
-    TObjArray *arr = &fPadQArrayEvent;
-    return GetPadInfoEvent(sector,arr,force);
-}
-//_____________________________________________________________________
-TVectorF* AliTPCCalibSignal::GetPadRMSEvent(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Pad RMS Array for the current event and sector
-    // if force is true create it if it doesn't exist allready
-    // for debugging purposes only
-    //
-    TObjArray *arr = &fPadRMSArrayEvent;
-    return GetPadInfoEvent(sector,arr,force);
-}
-//_____________________________________________________________________
-TVectorF* AliTPCCalibSignal::GetPadPedestalEvent(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Pad RMS Array for the current event and sector
-    // if force is true create it if it doesn't exist allready
-    // for debugging purposes only
-    //
-    TObjArray *arr = &fPadPedestalArrayEvent;
-    return GetPadInfoEvent(sector,arr,force);
-}
-//_____________________________________________________________________
-AliTPCCalROC* AliTPCCalibSignal::GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to ROC Calibration
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    if ( !force || arr->UncheckedAt(sector) )
-       return (AliTPCCalROC*)arr->UncheckedAt(sector);
-
-    // if we are forced and histogram doesn't yes exist create it
-
-    // new AliTPCCalROC for T0 information. One value for each pad!
-    AliTPCCalROC *croc = new AliTPCCalROC(sector);
-    //init values
-    for ( UInt_t iChannel = 0; iChannel<croc->GetNchannels(); iChannel++){
-       croc->SetValue(iChannel, 0);
-    }
-    arr->AddAt(croc,sector);
-    return croc;
-}
-//_____________________________________________________________________
-AliTPCCalROC* AliTPCCalibSignal::GetCalRocT0(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to Carge ROC Calibration
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fCalRocArrayT0;
-    return GetCalRoc(sector, arr, force);
-}
-//_____________________________________________________________________
-AliTPCCalROC* AliTPCCalibSignal::GetCalRocQ(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to T0 ROC Calibration
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fCalRocArrayQ;
-    return GetCalRoc(sector, arr, force);
-}
-//_____________________________________________________________________
-AliTPCCalROC* AliTPCCalibSignal::GetCalRocRMS(Int_t sector, Bool_t force) /*FOLD00*/
-{
-    //
-    // return pointer to signal width ROC Calibration
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fCalRocArrayRMS;
-    return GetCalRoc(sector, arr, force);
-}
-//_____________________________________________________________________
-AliTPCCalROC* AliTPCCalibSignal::GetCalRocOutliers(Int_t sector, Bool_t force)
-{
-    //
-    // return pointer to Outliers
-    // if force is true create a new histogram if it doesn't exist allready
-    //
-    TObjArray *arr = &fCalRocArrayOutliers;
-    return GetCalRoc(sector, arr, force);
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::ResetEvent() /*FOLD00*/
-{
-    //
-    //  Reset global counters  -- Should be called before each event is processed
-    //
-    fLastSector=-1;
-    fCurrentSector=-1;
-    fCurrentRow=-1;
-    fCurrentChannel=-1;
-
-    ResetPad();
-
-    fPadTimesArrayEvent.Delete();
-    fPadQArrayEvent.Delete();
-    fPadRMSArrayEvent.Delete();
-    fPadPedestalArrayEvent.Delete();
-
-    for ( Int_t i=0; i<72; i++ ){
-       fVTime0Offset1[i]=0;
-       fVTime0Offset1Counter[i]=0;
-    }
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::ResetPad() /*FOLD00*/
-{
-    //
-    //  Reset pad infos -- Should be called after a pad has been processed
-    //
-    for (Int_t i=fFirstTimeBin; i<fLastTimeBin+1; i++)
-       fPadSignal[i] = 0;
-    fMaxTimeBin = -1;
-    fMaxPadSignal = -1;
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::Analyse() /*FOLD00*/
-{
-    //
-    //  Calculate calibration constants
-    //
-
-    TVectorD paramQ(3);
-    TVectorD paramT0(3);
-    TVectorD paramRMS(3);
-    TMatrixD dummy(3,3);
-
-    for (Int_t iSec=0; iSec<72; iSec++){
-       TH2S *hT0 = GetHistoT0(iSec);
-        if (!hT0 ) continue;
-
-       AliTPCCalROC *rocQ   = GetCalRocQ  (iSec,kTRUE);
-       AliTPCCalROC *rocT0  = GetCalRocT0 (iSec,kTRUE);
-       AliTPCCalROC *rocRMS = GetCalRocRMS(iSec,kTRUE);
-        AliTPCCalROC *rocOut = GetCalRocOutliers(iSec,kTRUE);
-
-       TH2S *hQ   = GetHistoQ(iSec);
-       TH2S *hRMS = GetHistoRMS(iSec);
-
-       Short_t *array_hQ   = hQ->GetArray();
-       Short_t *array_hT0  = hT0->GetArray();
-       Short_t *array_hRMS = hRMS->GetArray();
-
-        UInt_t nChannels = fROC->GetNChannels(iSec);
-
-       //debug
-       Int_t row=0;
-       Int_t pad=0;
-       Int_t padc=0;
-       //! debug
-
-       for (UInt_t iChannel=0; iChannel<nChannels; iChannel++){
-
-
-           Float_t cogTime0 = -1000;
-           Float_t cogQ     = -1000;
-           Float_t cogRMS   = -1000;
-            Float_t cogOut   = 0;
-
-
-           Int_t offsetQ = (fNbinsQ+2)*(iChannel+1)+1;
-           Int_t offsetT0 = (fNbinsT0+2)*(iChannel+1)+1;
-           Int_t offsetRMS = (fNbinsRMS+2)*(iChannel+1)+1;
-
-/*
-           AliMathBase::FitGaus(array_hQ+offsetQ,fNbinsQ,fXminQ,fXmaxQ,&paramQ,&dummy);
-           AliMathBase::FitGaus(array_hT0+offsetT0,fNbinsT0,fXminT0,fXmaxT0,&paramT0,&dummy);
-            AliMathBase::FitGaus(array_hRMS+offsetRMS,fNbinsRMS,fXminRMS,fXmaxRMS,&paramRMS,&dummy);
-           cogQ     = paramQ[1];
-           cogTime0 = paramT0[1];
-           cogRMS   = paramRMS[1];
-*/
-           cogQ     = AliMathBase::GetCOG(array_hQ+offsetQ,fNbinsQ,fXminQ,fXmaxQ);
-           cogTime0 = AliMathBase::GetCOG(array_hT0+offsetT0,fNbinsT0,fXminT0,fXmaxT0);
-            cogRMS   = AliMathBase::GetCOG(array_hRMS+offsetRMS,fNbinsRMS,fXminRMS,fXmaxRMS);
-
-
-
-           /*
-           if ( (cogQ < ??) && (cogTime0 > ??) && (cogTime0<??) && ( cogRMS>??) ){
-               cogOut = 1;
-               cogTime0 = 0;
-               cogQ     = 0;
-               cogRMS   = 0;
-           }
-*/
-                   rocQ->SetValue(iChannel, cogQ*cogQ);
-           rocT0->SetValue(iChannel, cogTime0);
-           rocRMS->SetValue(iChannel, cogRMS);
-           rocOut->SetValue(iChannel, cogOut);
-
-
-           //debug
-           if ( fDebugLevel > 0 ){
-               if ( !fDebugStreamer ) {
-                        //debug stream
-                   TDirectory *backup = gDirectory;
-                   fDebugStreamer = new TTreeSRedirector("deb2.root");
-                   if ( backup ) backup->cd();  //we don't want to be cd'd to the debug streamer
-               }
-
-               while ( iChannel > (fROC->GetRowIndexes(iSec)[row]+fROC->GetNPads(iSec,row)-1) ) row++;
-               pad = iChannel-fROC->GetRowIndexes(iSec)[row];
-               padc = pad-(fROC->GetNPads(iSec,row)/2);
-
-               (*fDebugStreamer) << "DataEnd" <<
-                   "Sector="  << iSec      <<
-                   "Pad="     << pad       <<
-                   "PadC="    << padc      <<
-                   "Row="     << row       <<
-                   "PadSec="  << iChannel   <<
-                   "Q="       << cogQ      <<
-                   "T0="      << cogTime0  <<
-                   "RMS="     << cogRMS    <<
-                   "\n";
-           }
-           //! debug
-
-       }
-
-    }
-    delete fDebugStreamer;
-    fDebugStreamer = 0x0;
-}
-//_____________________________________________________________________
-void AliTPCCalibSignal::DumpToFile(const Char_t *filename, const Char_t *dir, Bool_t append)
-{
-    //
-    //  Write class to file
-    //
-
-    TString sDir(dir);
-    TString option;
-
-    if ( append )
-       option = "update";
-    else
-        option = "recreate";
-
-    TDirectory *backup = gDirectory;
-    TFile f(filename,option.Data());
-    f.cd();
-    if ( !sDir.IsNull() ){
-       f.mkdir(sDir.Data());
-       f.cd(sDir);
-    }
-    this->Write();
-    f.Close();
-
-    if ( backup ) backup->cd();
-}
diff --git a/TPC/AliTPCCalibSignal.h b/TPC/AliTPCCalibSignal.h
deleted file mode 100644 (file)
index b22f405..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#ifndef ALITPCCALIBSIGNAL_H
-#define ALITPCCALIBSIGNAL_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-#include <TVectorT.h>
-class TObjArray;
-class TH2S;
-class TTreeSRedirector;
-class AliTPCCalPad;
-class AliTPCROC;
-class AliTPCCalROC;
-class AliTPCParam;
-class AliRawReader;
-class AliTPCRawStream;
-struct eventHeaderStruct;
-
-class AliTPCCalibSignal : public TObject {
-
-public:
-    AliTPCCalibSignal();
-    AliTPCCalibSignal(const AliTPCCalibSignal &sig);
-    virtual ~AliTPCCalibSignal();
-
-    AliTPCCalibSignal& operator = (const  AliTPCCalibSignal &source);
-
-
-    Bool_t ProcessEvent(AliTPCRawStream *rawStream);
-    Bool_t ProcessEvent(AliRawReader    *rawReader);
-    Bool_t ProcessEvent(eventHeaderStruct   *event);
-
-    Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
-              const Int_t iTimeBin, const Float_t signal);
-    void Analyse();
-    //
-    AliTPCCalROC* GetCalRocT0 (Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
-    AliTPCCalROC* GetCalRocQ  (Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
-    AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
-    AliTPCCalROC* GetCalRocOutliers(Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
-
-    const TObjArray* GetCalPadT0() { return &fCalRocArrayT0; }      // get calibration object
-    const TObjArray* GetCalPadQ()  { return &fCalRocArrayQ;  }      // get calibration object
-    const TObjArray* GetCalPadRMS(){ return &fCalRocArrayRMS;}      // get calibration object
-    const TObjArray* GetCalPadOutliers(){ return &fCalRocArrayOutliers;}      // get calibration object
-
-    TH2S* GetHistoQ  (Int_t sector, Bool_t force=kFALSE);           // get refernce histogram
-    TH2S* GetHistoT0 (Int_t sector, Bool_t force=kFALSE);           // get refernce histogram
-    TH2S* GetHistoRMS(Int_t sector, Bool_t force=kFALSE);           // get refernce histogram
-
-    Short_t GetDebugLevel()     const { return fDebugLevel;    }
-    //
-    void  SetRangeTime (Int_t firstTimeBin, Int_t lastTimeBin) { fFirstTimeBin=firstTimeBin;   fLastTimeBin=lastTimeBin;  } //Set range in which the pulser signal is expected
-    void  SetRangeTime0(Int_t firstTimeBin, Int_t lastTimeBin) { fFirstTimeBinT0=firstTimeBin; fLastTimeBinT0=lastTimeBin;} //Set range for analysis after T0 substraction. Should be smaller than the above and around 0
-    //
-    void  SetRangeRefQ  (Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsQ   = nBins; fXminQ   = xMin; fXmaxQ   = xMax; }   //Set range for Q reference histograms
-    void  SetRangeRefT0 (Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsT0  = nBins; fXminT0  = xMin; fXmaxT0  = xMax; }   //Set range for T0 reference histograms
-    void  SetRangeRefRMS(Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsRMS = nBins; fXminRMS = xMin; fXmaxRMS = xMax; }   //Set range for T0 reference histograms
-
-
-    void  SetDebugLevel(Short_t debug=1){ fDebugLevel = debug;}
-
-    Int_t GetFirstTimeBin()   const { return fFirstTimeBin;  }
-    Int_t GetLastTimeBin()    const { return fLastTimeBin;   }
-    Int_t GetFirstTimeBinT0() const { return fFirstTimeBinT0;}
-    Int_t GetLastTimeBinT0()  const { return fLastTimeBinT0; }
-
-    void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
-
-private:
-    Int_t fFirstTimeBin;              //  First Time bin needed for analysis
-    Int_t fLastTimeBin;               //  Last Time bin needed for analysis
-    Int_t fFirstTimeBinT0;            //  First Time bin after T0 correction
-    Int_t fLastTimeBinT0;             //  Last Time bin after T0 correction
-
-    // reference histogram ranges
-    Int_t   fNbinsT0;                 //  Number of bins for T0 reference histogram
-    Float_t fXminT0;                  //  xmin   of T0 reference histogram
-    Float_t fXmaxT0;                  //  xmax   of T0 reference histogram
-    Int_t   fNbinsQ;                  //  Number of bins for T0 reference histogram
-    Float_t fXminQ;                   //  xmin   of T0 reference histogram
-    Float_t fXmaxQ;                   //  xmax   of T0 reference histogram
-    Int_t   fNbinsRMS;                //  Number of bins for T0 reference histogram
-    Float_t fXminRMS;                 //  xmin   of T0 reference histogram
-    Float_t fXmaxRMS;                 //  xmax   of T0 reference histogram
-
-    Int_t     fLastSector;            //! Last sector processed
-
-    AliTPCROC   *fROC;                //! ROC information
-    AliTPCParam *fParam;              //! TPC information
-
-    AliTPCCalPad *fPedestalTPC;       //! Pedestal Information
-    Bool_t fBpedestal;                //! are we running with pedestal substraction
-
-
-    TObjArray fCalRocArrayT0;         //  Array of AliTPCCalROC class for Time0 calibration
-    TObjArray fCalRocArrayQ;          //  Array of AliTPCCalROC class for Charge calibration
-    TObjArray fCalRocArrayRMS;        //  Array of AliTPCCalROC class for signal width calibration
-    TObjArray fCalRocArrayOutliers;  //  Array of AliTPCCalROC class for signal outliers
-
-    TObjArray fHistoQArray;           //  Calibration histograms for Charge distribution
-    TObjArray fHistoT0Array;          //  Calibration histograms for Time0  distribution
-    TObjArray fHistoRMSArray;         //  Calibration histograms for signal width distribution
-
-    TObjArray fPadTimesArrayEvent;    //! Pad Times for the event, before mean Time0 corrections
-    TObjArray fPadQArrayEvent;        //! Charge for the event, only needed for debugging streamer
-    TObjArray fPadRMSArrayEvent;      //! Signal width for the event, only needed for debugging streamer
-    TObjArray fPadPedestalArrayEvent; //! Signal width for the event, only needed for debugging streamer
-
-    Int_t     fCurrentChannel;         //! current channel processed
-    Int_t     fCurrentSector;          //! current sector processed
-    Int_t     fCurrentRow;             //! current row processed
-    Float_t   fMaxPadSignal;           //! maximum bin of current pad
-    Int_t     fMaxTimeBin;             //! time bin with maximum value
-    TVectorF  fPadSignal;              //! signal of current Pad
-
-    TVectorF  fVTime0Offset1;          //!  Time0 Offset from preprocessing for each sector;
-    TVectorF  fVTime0Offset1Counter;   //!  Time0 Offset from preprocessing for each sector;
-
-    //debugging
-    Int_t fEvent;
-    TTreeSRedirector *fDebugStreamer;  //! debug streamer
-
-    Short_t fDebugLevel;
-    //! debugging
-
-    TH2S* GetHisto(Int_t sector, TObjArray *arr,
-                  Int_t nbinsY, Float_t ymin, Float_t ymax,
-                  Char_t *type, Bool_t force);
-
-
-    AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force);
-
-    TVectorF* GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE);
-
-    void ResetEvent();
-    void ResetPad();
-    void ProcessPad();
-    void EndEvent();
-
-
-    //debug
-    TVectorF* GetPadInfoEvent(Int_t sector, TObjArray *arr, Bool_t force=kFALSE);
-    TVectorF* GetPadQEvent(Int_t sector, Bool_t force=kFALSE);
-    TVectorF* GetPadRMSEvent(Int_t sector, Bool_t force=kFALSE);
-    TVectorF* GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE);
-
-
-public:
-
-
-  ClassDef(AliTPCCalibSignal,1)
-};
-
-
-
-#endif
-
index 4adac14..822cf38 100644 (file)
@@ -2,7 +2,6 @@
 #include "alles.h"
 #include "AliComplexCluster.h"
 //#include "AliTPCclusterM.h"
-#include "AliTPCtrackerMI.h"
 #include "AliTPCclusterMI.h"
 #endif
 
index eb376c3..92e1e5f 100644 (file)
 /****************************************************************************
- *           Origin: I.Belikov, CERN, Jouri.Belikov@cern.ch                 *
+ *           Origin: M.Ivanov marian.ivanov@cern.ch                         *
  ****************************************************************************/
 
-#if !defined(__CINT__) || defined(__MAKECINT__)
-  #include <Riostream.h>
-
-  #include "AliRun.h"
-  #include "AliRunLoader.h"
-  #include "AliTPCLoader.h"
-  #include "AliTPCv1.h"
-  #include "AliTPCParam.h"
-  #include "AliTPCclusterer.h"
-
-  #include "TTree.h"
-  #include "TStopwatch.h"
+/*
+
+  macro to create array of clusters from TPC digits
+  input files - galice.root 
+                digits.root - file with digits - usualy use link to galice.root
+                           - in splitted mode - neccesary to create link to proper file
+                           
+   output file - AliTPCclusters.root
+               - to be used by AliTPCTrackFinderMI.C
+
+  Warning - if cluster file AliTPCclusters.root already exist - macro exit and don't produce anything
+              
+*/
+
+
+#ifndef __CINT__
+#include <iostream.h>
+#include "AliRun.h"
+#include "AliTPCv1.h"
+#include "AliTPCv2.h"
+#include "AliTPCParam.h"
+#include "AliTPCclusterer.h"
+#include "TFile.h"
+#include "TStopwatch.h"
+#include "TTree.h"
 #endif
 
-extern AliRun *gAlice;
-
-Int_t AliTPCFindClusters(Int_t nev=5) {
-
-   if (gAlice) {
-      delete AliRunLoader::Instance();
-      delete gAlice;//if everything was OK here it is already NULL
-      gAlice = 0x0;
-   }
-    
+Int_t AliTPCFindClustersMI(Int_t n=1) {
+   
    AliRunLoader* rl = AliRunLoader::Open("galice.root");
    if (rl == 0x0) {
       cerr<<"Can not open session"<<endl;
       return 1;
    }
    
-   if (rl->LoadgAlice()) {
-      cerr<<"Error occured while l"<<endl;
-      return 1;
-   }
-   
    AliTPCLoader *tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
    if (tpcl == 0x0) {
       cerr<<"Can not get TPC Loader"<<endl;
       return 1;
    }
 
+   if (tpcl->LoadDigits()) {
+      cerr<<"Error occured while loading digits"<<endl;
+      return 1;
+   }
+
+   if (tpcl->LoadRecPoints("recreate")) {
+      cerr<<"Error occured while loading digits"<<endl;
+      return 1;
+   }
+   
+   if (rl->LoadgAlice()) {
+      cerr<<"Error occured while l"<<endl;
+      return 1;
+   }
+   
    gAlice=rl->GetAliRun();
    if (!gAlice) {
       cerr<<"Can't get gAlice !\n";
       return 1;
    }
 
+   TDirectory *cwd = gDirectory;
+
    AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC"); 
    Int_t ver = TPC->IsVersion(); 
    cerr<<"TPC version "<<ver<<" has been found !\n";
-
+   
    rl->CdGAFile();
-   AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
-   if (!dig) {
-        cerr<<"TPC parameters have not been found !\n";
-        return 1;
-   }
-
-   if (nev>rl->GetNumberOfEvents()) nev=rl->GetNumberOfEvents();
    
-   tpcl->LoadRecPoints("recreate");
-   if (ver==1) tpcl->LoadHits("read");
-   else tpcl->LoadDigits("read");
+   AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
+   if (!dig) {cerr<<"TPC parameters have not been found !\n"; return 4;}
 
    TStopwatch timer;
 
-   if (ver==1) {
+   switch (ver) {
+   case 1:
       cerr<<"Making clusters...\n";
-      AliTPCv1 &tpc=*((AliTPCv1*)TPC);
-      tpc.SetParam(dig);
-      tpc.SetLoader(tpcl);
-      rl->LoadKinematics();
-      timer.Start();
-      for(Int_t i=0;i<nev;i++) {
-         printf("Processing event %d\n",i);
-         rl->GetEvent(i);
-         tpc.Hits2Clusters(i);
-      }
-   } else if (ver==2) {
-      cerr<<"Looking for clusters...\n";
-      AliTPCclusterer *dummy=new AliTPCclusterer(dig), &clusterer=*dummy; 
-      timer.Start();
-      for (Int_t i=0;i<nev;i++) {
+      {
+       AliTPCv1 &tpc=*((AliTPCv1*)TPC);
+       tpc.SetParam(dig); timer.Start(); cwd->cd(); 
+       for(Int_t i=0;i<n;i++){
          printf("Processing event %d\n",i);
-         rl->GetEvent(i);
-
-         TTree *out=tpcl->TreeR();
-         if (!out) {
-            tpcl->MakeTree("R");
-            out=tpcl->TreeR();
-         }
-         TTree *in=tpcl->TreeD();
-         if (!in) {
-            cerr<<"Can't get digits tree !\n";
-            return 4;
-         }
-
-         clusterer.Digits2Clusters(in,out);
-         
-         tpcl->WriteRecPoints("OVERWRITE");
+         gAlice->GetEvent(i);
+         tpc.Hits2Clusters(out,i);
+       } 
       }
-      delete dummy;
-      delete dig;
-   } else {
-      cerr<<"Invalid TPC version !\n";
-      delete rl;
-      return 5;
+      break;
+   case 2:
+     cerr<<"Looking for clusters...\n";
+     {
+       // delete gAlice; gAlice=0;
+       AliTPCv2 tpc; 
+       tpc.SetParam(dig); timer.Start(); cwd->cd();  
+       
+       n = rl->GetNumberOfEvents();
+       for (Int_t i=0;i<n;i++)
+        { 
+          rl->GetEvent(i);
+          AliTPCclusterer clusterer(dig);
+          
+          TTree * input = tpcl->TreeD();
+          if (input == 0x0)
+           {
+             cerr << "Can not get TreeD for event " << i <<endl;
+             continue;
+           }
+          
+          TTree * output = tpcl->TreeR();
+          if (output == 0x0)
+           {
+             tpcl->MakeTree("R");
+             output = tpcl->TreeR();
+             if (output == 0x0)
+              {
+                cerr << "Problems with output tree (TreeR) for event " << i <<endl;
+                continue;
+              }
+           }
+
+          printf("Processing event %d\n",i); 
+          clusterer.SetInput(input);
+          clusterer.SetOutput(output);
+          clusterer.Digits2Clusters();
+          
+          tpcl->WriteRecPoints("OVERWRITE");
+       }
+     }
+     break;
+   default:
+     cerr<<"Invalid TPC version !\n";
+     return 5;
    }
-
+   
    timer.Stop(); timer.Print();
-
-   delete rl;
+   
+   delete rl;//cleans everything
 
    return 0;
 }
diff --git a/TPC/AliTPCFindClustersMI.C b/TPC/AliTPCFindClustersMI.C
deleted file mode 100644 (file)
index 01c7533..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/****************************************************************************
- *           Origin: M.Ivanov marian.ivanov@cern.ch                         *
- ****************************************************************************/
-
-/*
-
-  macro to create array of clusters from TPC digits
-  input files - galice.root 
-                digits.root - file with digits - usualy use link to galice.root
-                           - in splitted mode - neccesary to create link to proper file
-                           
-   output file - AliTPCclusters.root
-               - to be used by AliTPCTrackFinderMI.C
-
-  Warning - if cluster file AliTPCclusters.root already exist - macro exit and don't produce anything
-              
-*/
-
-
-#ifndef __CINT__
-#include <iostream.h>
-#include "AliRun.h"
-#include "AliTPCv1.h"
-#include "AliTPCv2.h"
-#include "AliTPCParam.h"
-#include "AliTPCclustererMI.h"
-#include "TFile.h"
-#include "TStopwatch.h"
-#include "TTree.h"
-#endif
-
-Int_t AliTPCFindClustersMI(Int_t n=1) {
-   
-   AliRunLoader* rl = AliRunLoader::Open("galice.root");
-   if (rl == 0x0) {
-      cerr<<"Can not open session"<<endl;
-      return 1;
-   }
-   
-   AliTPCLoader *tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
-   if (tpcl == 0x0) {
-      cerr<<"Can not get TPC Loader"<<endl;
-      return 1;
-   }
-
-   if (tpcl->LoadDigits()) {
-      cerr<<"Error occured while loading digits"<<endl;
-      return 1;
-   }
-
-   if (tpcl->LoadRecPoints("recreate")) {
-      cerr<<"Error occured while loading digits"<<endl;
-      return 1;
-   }
-   
-   if (rl->LoadgAlice()) {
-      cerr<<"Error occured while l"<<endl;
-      return 1;
-   }
-   
-   gAlice=rl->GetAliRun();
-   if (!gAlice) {
-      cerr<<"Can't get gAlice !\n";
-      return 1;
-   }
-
-   TDirectory *cwd = gDirectory;
-
-   AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC"); 
-   Int_t ver = TPC->IsVersion(); 
-   cerr<<"TPC version "<<ver<<" has been found !\n";
-   
-   rl->CdGAFile();
-   
-   AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
-   if (!dig) {cerr<<"TPC parameters have not been found !\n"; return 4;}
-
-   TStopwatch timer;
-
-   switch (ver) {
-   case 1:
-      cerr<<"Making clusters...\n";
-      {
-       AliTPCv1 &tpc=*((AliTPCv1*)TPC);
-       tpc.SetParam(dig); timer.Start(); cwd->cd(); 
-       for(Int_t i=0;i<n;i++){
-         printf("Processing event %d\n",i);
-         gAlice->GetEvent(i);
-         tpc.Hits2Clusters(out,i);
-       } 
-      }
-      break;
-   case 2:
-     cerr<<"Looking for clusters...\n";
-     {
-       // delete gAlice; gAlice=0;
-       AliTPCv2 tpc; 
-       tpc.SetParam(dig); timer.Start(); cwd->cd();  
-       
-       n = rl->GetNumberOfEvents();
-       for (Int_t i=0;i<n;i++)
-        { 
-          rl->GetEvent(i);
-          AliTPCclustererMI clusterer(dig);
-          
-          TTree * input = tpcl->TreeD();
-          if (input == 0x0)
-           {
-             cerr << "Can not get TreeD for event " << i <<endl;
-             continue;
-           }
-          
-          TTree * output = tpcl->TreeR();
-          if (output == 0x0)
-           {
-             tpcl->MakeTree("R");
-             output = tpcl->TreeR();
-             if (output == 0x0)
-              {
-                cerr << "Problems with output tree (TreeR) for event " << i <<endl;
-                continue;
-              }
-           }
-
-          printf("Processing event %d\n",i); 
-          clusterer.SetInput(input);
-          clusterer.SetOutput(output);
-          clusterer.Digits2Clusters();
-          
-          tpcl->WriteRecPoints("OVERWRITE");
-       }
-     }
-     break;
-   default:
-     cerr<<"Invalid TPC version !\n";
-     return 5;
-   }
-   
-   timer.Stop(); timer.Print();
-   
-   delete rl;//cleans everything
-
-   return 0;
-}
diff --git a/TPC/AliTPCGoofieValues.cxx b/TPC/AliTPCGoofieValues.cxx
deleted file mode 100644 (file)
index 94a9139..0000000
+++ /dev/null
@@ -1,834 +0,0 @@
-
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/****************************************************************************
- * TPC Calibration Class for GOOFIE values. Drift velocity, gas composition *
- * and the gain.                                                            *
- ****************************************************************************/
-#include "AliTPCGoofieValues.h"
-#include <iostream>
-
-/*****************************************************************************
-*  The class AliTPCGoofieValues allows the access to GoofieValues. The only  *
-*  construtor is load a data from ASCI file. The methods make Tgraphs and    *
-*  TSplines of the time dependace of th values. One method allows save the   *
-*  the graphs and spline togather with tree of allvalues into file.          *
-
-Current example usage:
-
-AliTPCGoofieValues *goofieVal = new AliTPCGoofieValues("Goofie_data_january_run_01_08.txt");
-TFile f("goofieValues.root","recreate");
-goofieVal->Write("goofie");
-TBrowser b;
-And now you can browse
-
-
-*****************************************************************************/
-
-ClassImp(AliTPCGoofieValues)
-
-//____________________________________________________________________________
-AliTPCGoofieValues::AliTPCGoofieValues():
-  TNamed(),
-  fLinesInFile(0),///< lines in ASCII file
-  fStartTime(0),///< StartTime
-  fEndTime(0),///< EndTime
-  fTimeOfRun(0),///<TimeOfRun
-  fTempGrad(0),///<TempGrad
-  fAverageTempGraph(0), ///<graph of average temperatures 
-  fTempGradGraph(0),///<graph of temperature gradients
-  fPressGraph(0),///<graph of pressures
-  fVdriftGraph(0),///<graph of drift velocities
-  fVdriftcorGraph(0),///<graph of drift velocities corrected
-  fGainFGraph(0),///<graph of near gain
-  fGainNGraph(0),///<graph of far gain
-  fCO2Graph(0),///<graph of CO2 content
-  fN2Graph(0),///<graph of N2 content
-  
-  fAverageTempSpline(0),///< spline of average temperatures 
-  fTempGradSpline(0),///<spline of  temperature gradients
-  fPressSpline(0),///<spline of pressures
-  fVdriftSpline(0),///<spline of drift velocities
-  fVdriftcorSpline(0),///<spline of drift velocities corrected
-  fGainFSpline(0),///<spline of near gain
-  fGainNSpline(0),///<spline of far gain
-  fCO2Spline(0),///<spline of CO2 content
-  fN2Spline(0),
-  fGoofieValues(0)///<spline of  N2 content
-{
-  //
-  // Default constructor
-  //
-} 
-  
-  //____________________________________________________________________________
-AliTPCGoofieValues::AliTPCGoofieValues(const char *fname):
-  TNamed(),
-  fLinesInFile(0),///< lines in ASCII file
-  fStartTime(0),///< StartTime
-  fEndTime(0),///< EndTime
-  fTimeOfRun(0),///<TimeOfRun
-  fTempGrad(0),///<TempGrad
-  fAverageTempGraph(0), ///<graph of average temperatures 
-  fTempGradGraph(0),///<graph of temperature gradients
-  fPressGraph(0),///<graph of pressures
-  fVdriftGraph(0),///<graph of drift velocities
-  fVdriftcorGraph(0),///<graph of drift velocities corrected
-  fGainFGraph(0),///<graph of near gain
-  fGainNGraph(0),///<graph of far gain
-  fCO2Graph(0),///<graph of CO2 content
-  fN2Graph(0),///<graph of N2 content
-  
-  fAverageTempSpline(0),///< spline of average temperatures 
-  fTempGradSpline(0),///<spline of  temperature gradients
-  fPressSpline(0),///<spline of pressures
-  fVdriftSpline(0),///<spline of drift velocities
-  fVdriftcorSpline(0),///<spline of drift velocities corrected
-  fGainFSpline(0),///<spline of near gain
-  fGainNSpline(0),///<spline of far gain
-  fCO2Spline(0),///<spline of CO2 content
-  fN2Spline(0),
-  fGoofieValues(0)///<spline of  N2 content
-{
-    /**
-       Constructor take a values from ASCI file with raw values. <br>
-       example: <b>fname = AliTPCGoofie_run_001.txt </b><br>
-       Read the next values, in this order (each line of the file is a data point) <br>
-       fGoofieTime fGoofieTempF fGoofieTempN fGoofiePress fGoofieVdrift fGoofieVdriftcor fGoofieAreaF fGoofieAreaN fGoofieCO2 fGoofieN2 
-
-     */
-
-    fLinesInFile= 0 ;
-    fStartTime= 0 ;
-    fEndTime= 0 ;
-    fTimeOfRun= 0 ;
-    fTempGrad= 0 ;
-    fGoofieValues = new TTree("tree","goofie values"); 
-    fLinesInFile  = fGoofieValues->ReadFile(fname,"fGoofieTime/D:fGoofieTempF/D:fGoofieTempN/D:fGoofiePress/D:fGoofieVdrift/D:fGoofieVdriftcor/D:fGoofieAreaF/D:fGoofieAreaN/D:fGoofieCO2/D:fGoofieN2/D"); 
-
-    fAverageTempGraph =  new TGraph();
-    fTempGradGraph    =  new TGraph();
-    fPressGraph       =  new TGraph();
-    fVdriftGraph      =  new TGraph();
-    fVdriftcorGraph   =  new TGraph();
-    fGainFGraph       =  new TGraph();
-    fGainNGraph       =  new TGraph();
-    fCO2Graph         =  new TGraph();
-    fN2Graph          =  new TGraph();
-    FillAllGraphs();
-    //Splines are allocated via FillAllSplines
-    FillAllSplines();
-  }
-  //________________________________________________________________________________
-  AliTPCGoofieValues::~AliTPCGoofieValues()
-  {
-    /**
-       AliTPCGoofieValues destructor
-     */
-  }
-  //_________________________________________________________________________________
-  Long64_t AliTPCGoofieValues::GetLinesInFile(){
-    return fLinesInFile;
-  }
-  //_________________________________________________________________________________
-  Double_t AliTPCGoofieValues::GetStartTime()
-  {
-    /**
-      take a time in beging of run from Goofie in seconds 
-     */
-    return fStartTime;
-  }
-  //__________________________________________________________________________________
-  Double_t AliTPCGoofieValues::GetEndTime()
-  {
-    /**
-       take the time in the end of run from Goofie in seconds
-     */
-  
-    return fEndTime;
-  }
-  
-  //__________________________________________________________________________________
-  Double_t AliTPCGoofieValues::GetTimeOfRun()
-  {
-    /**
-       return time of run in seconds
-    */
-  
-    Double_t time = GetEndTime(/*const char *fname*/) - GetStartTime(/*const char *fname*/);
-    return time;
-  }
-  //__________________________________________________________________________________
-  Double_t AliTPCGoofieValues::GetTempGrad(Double_t timeSec)
-  {
-
-    /**
-       gradient of temperature in the chosen time in run
-     */
-  
-    Double_t tempGrad;
-    FillTempGradGraph();
-    tempGrad = EvalTempGrad(timeSec);
-    return tempGrad;
-  }
-  //__________________________________________________________________________________
-  void AliTPCGoofieValues::FillAllGraphs(){
-    /**
-       Fill ALL the Graphs.<br>
-       There are individual methods, to do the same.<br>
-       This function is anyway called in the ctor. 
-       Selection has to be implemented:
-       //
-       Example selection  :
-       
-       AliTPCGoofieValues *a = new AliTPCGoofieValues("Goofie_data_january_run_01_08.txt");
-       TEventList list("listGood","listGood");
-       a->GetTree()->Draw(">>listGood","abs(fGoofieAreaN-2600)<500&&abs(fGoofieAreaF-2900)<300&&abs(fGoofieAreaF/fGoofieAreaN-1.1)<0.2","");
-       a->GetTree()->Draw("fGoofieVdrift:fGoofieTime");
-       a->GetTree()->SetEventList(&list);
-       a->GetTree()->SetMarkerColor(2);
-       //
-       a->GetTree()->Draw("fGoofieVdrift:fGoofieTime","","same*");
-       TGraph gr(200,a.GetTree()->GetV2(),a.GetTree()->GetV1());
-       //example residuals
-       AliSplineFit fit;
-       fit.SetGraph(&gr)
-       fit->SetMinPoints(200);
-       fit->InitKnots(&gr,15,0,0.2)
-       fit.SplineFit(1)
-       fit.MakeDiffHisto(&gr)->Draw();
-
-       
-     */
-    Long64_t nevent = fGoofieValues->GetEntries();
-    
-    //temporal for reading the branches
-    Double_t fGoofieTime   = 0; 
-    Double_t fGoofieTempN  = 0; 
-    Double_t fGoofieTempF  = 0; 
-    Double_t fGoofiePress  = 0;   
-    Double_t fGoofieAreaF  = 0; 
-    Double_t fGoofieAreaN  = 0; 
-    Double_t fGoofieVdriftcor  = 0; 
-    Double_t fGoofieVdrift     = 0; 
-    Double_t fGoofieCO2  = 0; 
-    Double_t fGoofieN2   = 0; 
-    fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-    fGoofieValues->SetBranchAddress("fGoofieTempN",&fGoofieTempN); 
-    fGoofieValues->SetBranchAddress("fGoofieTempF",&fGoofieTempF);  
-    fGoofieValues->SetBranchAddress("fGoofiePress",&fGoofiePress);
-    fGoofieValues->SetBranchAddress("fGoofieAreaF",&fGoofieAreaF);
-    fGoofieValues->SetBranchAddress("fGoofieAreaN",&fGoofieAreaN);
-    fGoofieValues->SetBranchAddress("fGoofieVdriftcor",&fGoofieVdriftcor);
-    fGoofieValues->SetBranchAddress("fGoofieVdrift",&fGoofieVdrift);
-    fGoofieValues->SetBranchAddress("fGoofieCO2",&fGoofieCO2);
-    fGoofieValues->SetBranchAddress("fGoofieN2",&fGoofieN2); 
-    fStartTime = 0; //fGoofieValues->GetBranch("fGoofieTime")->GetEntry(0);
-
-    for (int i = 0; i < nevent; ++i){
-      if (fGoofieValues->GetEvent(i)<0){
-       // cout<< "you're done, man  !" << endl;
-       continue;
-      }
-      if (i==0) fStartTime = fGoofieTime;
-      else if (i == (nevent-1)) fEndTime = fGoofieTime;
-      //// cout<<  " reading " << i << endl;
-      fAverageTempGraph->SetPoint(i,(fGoofieTime - fStartTime),(fGoofieTempF+fGoofieTempN)/2);
-      fTempGradGraph->SetPoint(i,(fGoofieTime - fStartTime),(fGoofieTempF-fGoofieTempN)/25); 
-      fPressGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofiePress);
-      fGainFGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieAreaF);
-      fGainNGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieAreaN);
-      fVdriftGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieVdrift);  
-      fVdriftcorGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieVdriftcor);     
-      fCO2Graph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieCO2);
-      fN2Graph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieN2);
-    }
-
-  }
-
-  void AliTPCGoofieValues::FillAllSplines(){ 
-    /**
-       Fill ALL the Splines.<br>
-       There are individual methods, to do the same.<br>
-       This function is anyway called in the ctor. 
-     */
-   
-    fAverageTempSpline = new TSpline3("temperature",fAverageTempGraph);
-    fTempGradSpline    = new TSpline3("temperature gradient",fTempGradGraph);
-    fPressSpline       = new TSpline3("pressure",fPressGraph);
-    fVdriftcorSpline   = new TSpline3("vdriftcor",fVdriftcorGraph);
-    fVdriftSpline      = new TSpline3("vdrift",fVdriftGraph);  
-    fGainFSpline       = new TSpline3("gainF",fGainFGraph);
-    fGainNSpline       = new TSpline3("gainN",fGainNGraph);
-    fCO2Spline         = new TSpline3("co2",fCO2Graph);
-    fN2Spline          = new TSpline3("n2",fN2Graph);
-    
-  }
-
-  //___________________________________________________________________________________
-  void AliTPCGoofieValues::FillAverageTempGraph() 
-  {
-    /**
-       graph of temperature vs time. <br>
-       If the graph is already filled, it's only putting a title.
-     */
-
-    fAverageTempGraph->SetTitle("time dependence of temperature");    
-
-    if (!fAverageTempGraph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl;
-    }
-    else {
-      Double_t fGoofieTime   = 0; 
-      Double_t fGoofieTempN  = 0; 
-      Double_t fGoofieTempF  = 0; 
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-      fGoofieValues->SetBranchAddress("fGoofieTempN",&fGoofieTempN); 
-      fGoofieValues->SetBranchAddress("fGoofieTempF",&fGoofieTempF);  
-      
-      Long64_t nevent = fGoofieValues->GetEntries();
-      
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;
-       fAverageTempGraph->SetPoint(i,(fGoofieTime - fStartTime),(fGoofieTempF+fGoofieTempN)/2);
-      }
-    }
-  }
-  //__________________________________________________________________________________
-  void AliTPCGoofieValues::FillTempGradGraph()
-  {
-    /**
-       graph of temperature gradient [K/cm]<br>
-       If the graph is already filled, it's only putting a title.
-     */
-  
-    fTempGradGraph->SetTitle("time dpendance of Temperature`s gradient");
-    
-    if(! fTempGradGraph->GetN()==0){ 
-      // cout<< " graph already filled !!! " << endl;
-    }
-    else{
-      Double_t fGoofieTime   = 0; 
-      Double_t fGoofieTempN  = 0; 
-      Double_t fGoofieTempF  = 0; 
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-      fGoofieValues->SetBranchAddress("fGoofieTempN",&fGoofieTempN); 
-      fGoofieValues->SetBranchAddress("fGoofieTempF",&fGoofieTempF);  
-      
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;    
-       fTempGradGraph->SetPoint(i,(fGoofieTime - fStartTime),(fGoofieTempF-fGoofieTempN)/25); 
-      }
-    }
-  }
-
-  //____________________________________________________________________________________
-  void AliTPCGoofieValues::FillPressGraph()
-  {
-    /**
-       Graph of pressure<br>
-       If the graph is already filled, it's only putting a title. 
-     */
-
-    fPressGraph->SetTitle("time dpendance of Pressure");     
-    if(!fPressGraph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl; 
-    }
-    else{
-      Double_t fGoofieTime   = 0; 
-      Double_t fGoofiePress  = 0;      
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-      fGoofieValues->SetBranchAddress("fGoofiePress",&fGoofiePress);
-     
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;      
-       fPressGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofiePress);
-      }
-    }
-  }
-
-  
-//________________________________________________________________________________________________
-  void AliTPCGoofieValues::FillGainFGraph()
-  {
-
-    /**
-       return graph of Gain in the far point of Goofie`s detector<br>
-       If the graph is already filled, it's only putting a title.
-     */
-
-   fGainFGraph->SetTitle("time dpendance of Gain in the far point in natural unit");
-
-   if(!fGainFGraph->GetN()==0){
-     // cout<< " graph already filled !!! " << endl; 
-   }
-   else{
-     Double_t fGoofieTime   = 0;    
-     Double_t fGoofieAreaF  = 0; 
-     fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-     fGoofieValues->SetBranchAddress("fGoofieAreaF",&fGoofieAreaF);
-     Long64_t nevent = fGoofieValues->GetEntries();
-     for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-        // cout<< "you're done, man  !" << endl;
-        continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;          
-       fGainFGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieAreaF);
-     }
-   }
-  }
-  
-//_____________________________________________________________________________________
-  void AliTPCGoofieValues::FillGainNGraph()
-  {
-    /**
-       Graph of Gain in the near point of Goofie`s detector<br>
-       If the graph is already filled, it's only putting a title.
-     */
-
-   fGainNGraph->SetTitle("time dependance of Gain in the far poin in natural unit");
-   if(!fGainNGraph->GetN()==0){
-     // cout<< " graph already filled !!! " << endl; 
-   }
-   else{
-
-     Double_t fGoofieTime   = 0;    
-     Double_t fGoofieAreaN  = 0; 
-     fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-     fGoofieValues->SetBranchAddress("fGoofieAreaN",&fGoofieAreaN);
-     Long64_t nevent = fGoofieValues->GetEntries();
-     for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-        // cout<< "you're done, man  !" << endl;
-        continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;          
-       fGainNGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieAreaN);
-     }
-   }
-   
-  }
-//_______________________________________________________________________________________
-void AliTPCGoofieValues::FillVdriftGraph()
-  {
-    /**
-       Graph of raw Vdrift<br>
-       If the graph is already filled, it's only putting a title.
-    */
-    fVdriftGraph->SetTitle("time dpendance of raw Vdrift");
-    if(!fVdriftGraph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl; 
-    }
-    else{  
-      Double_t fGoofieTime   = 0;      
-      Double_t fGoofieVdrift = 0; 
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);     
-      fGoofieValues->SetBranchAddress("fGoofieVdrift",&fGoofieVdrift);
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;         
-       fVdriftGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieVdrift);   
-      }
-    }
-  }  
-//_____________________________________________________________________________________________
-void AliTPCGoofieValues::FillVdriftcorGraph()
-  {
-   /**
-       Graph of Vdrift corrected by temperature and pressure<br>
-       If the graph is already filled, it's only putting a title. 
-   */
-    fVdriftcorGraph->SetTitle("time dpendance of raw Vdriftcor");   
-    if(!fVdriftcorGraph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl; 
-    }
-    else{   
-      Double_t fGoofieTime   = 0;      
-      Double_t fGoofieVdriftcor = 0; 
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);     
-      fGoofieValues->SetBranchAddress("fGoofieVdriftcor",&fGoofieVdriftcor);
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;         
-       fVdriftcorGraph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieVdriftcor);   
-      }
-    }
-  }
-//____________________________________________________________________________________________
-void AliTPCGoofieValues::FillCO2Graph()
-  {
-    /**
-       Graph of CO2<br>
-       If the graph is already filled, it's only putting a title. 
-    */
-    fCO2Graph->SetTitle("time dependance of CO2");
-    if(!fCO2Graph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl; 
-    }
-    else{     
-      Double_t fGoofieTime   = 0;    
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);        
-      Double_t fGoofieCO2  = 0;     
-      fGoofieValues->SetBranchAddress("fGoofieCO2",&fGoofieCO2);
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;       
-       fCO2Graph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieCO2);  
-      }
-    }
-  }
-//_____________________________________________________________________________________________
-void AliTPCGoofieValues::FillN2Graph()
-  {
-    /**
-       Graph of N2<br>
-       If the graph is already filled, it's only putting a title.
-     */
-
-  
-    fN2Graph->SetTitle("time dependance of N2");
-    if(!fN2Graph->GetN()==0){
-      // cout<< " graph already filled !!! " << endl; 
-    }
-    else{     
-      Double_t fGoofieTime   = 0;    
-      fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);        
-      Double_t fGoofieN2  = 0;     
-      fGoofieValues->SetBranchAddress("fGoofieN2",&fGoofieN2);
-      Long64_t nevent = fGoofieValues->GetEntries();
-      for (int i = 0; i < nevent; ++i){
-       if (fGoofieValues->GetEvent(i)<0){
-         // cout<< "you're done, man  !" << endl;
-         continue;
-       } 
-       if (i==0) fStartTime = fGoofieTime;
-       else if (i == (nevent-1)) fEndTime = fGoofieTime;       
-       fN2Graph->SetPoint(i,(fGoofieTime - fStartTime),fGoofieN2);  
-      }
-    } 
-  }
-  
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillAverageTempSpline()
-{
-  /**
-   TSpline object of average temperature<br>
-   If the spline is already filled, it's printing a message.
-  */
-  if(!fAverageTempSpline)
-    fAverageTempSpline = new TSpline3("temperature",fAverageTempGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillTempGradSpline()
-{
-
-  /**
-     TSpline object of temperature gradient<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fTempGradSpline)
-    fTempGradSpline = new TSpline3("temperature gradient",fTempGradGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillPressSpline()
-{
-
-  /**
-     TSpline object of pressure<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fPressSpline)
-    fPressSpline = new TSpline3("pressure",fPressGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-  
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillVdriftSpline()
-{
-
-  /**
-     TSpline object of drift velocity<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fVdriftSpline)
-    fVdriftSpline = new TSpline3("vdrift",fVdriftGraph);
-  //else{
-    // cout<< " spline already filled !!! " << endl; 
-  //}
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillVdriftcorSpline()
-{
-
-
-  /**
-     TSpline object of drift velocit corrected<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fVdriftcorSpline)
-    fVdriftcorSpline = new TSpline3("vdriftcor",fVdriftcorGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillGainFSpline()
-{
-
-  /**
-     return TSpline object of gain in far point<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fGainFSpline)
-    fGainFSpline = new TSpline3("gainF",fGainFGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillGainNSpline()
-{
-
-  /**
-     TSpline object of gain in near point<br>
-     If the spline is already filled, it's printing a message.
-  */
-  if(!fGainNSpline)
-    fGainNSpline = new TSpline3("gainN",fGainNGraph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillCO2Spline()
-{
-
-  /**
-     TSpline object of average temperature<br>
-     If the spline is already filled, it's printing a message.
-  */  
-  if(!fCO2Spline)
-    fCO2Spline = new TSpline3("co2",fCO2Graph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-}
-
-//_________________________________________________________________________________________
-void AliTPCGoofieValues::FillN2Spline()
-{
-
-  /**
-     TSpline object of average temperature<br>
-     If the spline is already filled, it's printing a message.
-  */ 
-  if(!fN2Spline)
-    fN2Spline = new TSpline3("n2",fN2Graph);
-  //else
-    // cout<< " spline already filled !!! " << endl; 
-}
-
-//__________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalTempGrad(Double_t timeSec)
-{
-  if(!fTempGradSpline)
-    fTempGradSpline = new TSpline3("temperature gradient",fTempGradGraph);
-  Double_t a = fTempGradSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalAverageTemp(Double_t timeSec)
-{
-  if(!fAverageTempSpline)
-    fAverageTempSpline = new TSpline3("temperature",fAverageTempGraph);
-  Double_t a = fAverageTempSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalPress(Double_t timeSec)
-{
-  if(!fPressSpline)
-    fPressSpline = new TSpline3("pressure",fPressGraph);
-  Double_t a = fPressSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalVdrift(Double_t timeSec)
-{
-  if(!fVdriftSpline)
-    fVdriftSpline = new TSpline3("vdrift",fVdriftGraph);
-  Double_t a = fVdriftSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalVdriftcor(Double_t timeSec)
-{
-  if(!fVdriftcorSpline)
-    fVdriftcorSpline = new TSpline3("vdriftcor",fVdriftcorGraph);
-  Double_t a = fVdriftcorSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalGainF(Double_t timeSec)
-{
-  if(!fGainFSpline)
-    fGainFSpline = new TSpline3("gainF",fGainFGraph);
-  Double_t a = fGainFSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalGainN(Double_t timeSec)
-{
-  if(!fGainNSpline)
-    fGainNSpline = new TSpline3("gainN",fGainNGraph);
-  Double_t a  = fGainNSpline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalCO2(Double_t timeSec)
-{
-  if(!fCO2Spline)
-    fCO2Spline  = new TSpline3("co2",fCO2Graph);
-  Double_t a = fCO2Spline->Eval(timeSec);
-  return a;
-}
-
-//___________________________________________________________________________________________
-Double_t AliTPCGoofieValues::EvalN2(Double_t timeSec)
-{
-  if(!fN2Spline)
-    fN2Spline = new TSpline3("n2",fN2Graph);
-  Double_t a = fN2Spline->Eval(timeSec);
-  return a;
-}
-
-void AliTPCGoofieValues::PrintTree(){
-  /** 
-      Testing function: it prints all the information stored in the tree
-   */
-
-  Long64_t nevent = fGoofieValues->GetEntries();
-  // cout<< " number of entries: " << nevent << endl;
-  //temporal for reading the branches
-  Double_t fGoofieTime   = 0; 
-  Double_t fGoofieTempN  = 0; 
-  Double_t fGoofieTempF  = 0; 
-  Double_t fGoofiePress  = 0;   
-  Double_t fGoofieAreaF  = 0; 
-  Double_t fGoofieAreaN  = 0; 
-  
-  Double_t fGoofieVdriftcor  = 0; 
-  Double_t fGoofieVdrift     = 0; 
-  Double_t fGoofieCO2  = 0; 
-  Double_t fGoofieN2   = 0; 
-
-  fGoofieValues->SetBranchAddress("fGoofieTime",&fGoofieTime);
-  fGoofieValues->SetBranchAddress("fGoofieTempN",&fGoofieTempN); 
-  fGoofieValues->SetBranchAddress("fGoofieTempF",&fGoofieTempF);  
-  fGoofieValues->SetBranchAddress("fGoofiePress",&fGoofiePress);
-  
-  fGoofieValues->SetBranchAddress("fGoofieAreaF",&fGoofieAreaF);
-  fGoofieValues->SetBranchAddress("fGoofieAreaN",&fGoofieAreaN);
-  
-  fGoofieValues->SetBranchAddress("fGoofieVdriftcor",&fGoofieVdriftcor);
-  fGoofieValues->SetBranchAddress("fGoofieVdrift",&fGoofieVdrift);
-  
-  fGoofieValues->SetBranchAddress("fGoofieCO2",&fGoofieCO2);
-  fGoofieValues->SetBranchAddress("fGoofieN2",&fGoofieN2); 
-
-  for (int j = 0; j < nevent; ++j){
-    if (fGoofieValues->GetEvent(j)<0){
-      // cout<< "you're done, man  !" << endl;
-      continue;
-    } 
-//     // cout<< "  reading event: " << j << " " << fGoofieTime << " " 
-//      << fGoofieTempN << " " << fGoofieTempF << " " 
-//      << fGoofiePress << " " << fGoofiePress << " " 
-//      << fGoofieAreaF << " " << fGoofieAreaN << " " 
-//      << fGoofieVdriftcor << " " << fGoofieVdrift << " " 
-//      <<  fGoofieCO2 << " " << fGoofieN2 << endl;
-  }
-}
-
-  
-  
-  
-  
-  
-  
-  
diff --git a/TPC/AliTPCGoofieValues.h b/TPC/AliTPCGoofieValues.h
deleted file mode 100644 (file)
index a7ff54b..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*!\class AliTPCGoofieValues
-   \brief TPC calibration class for Goofie values 
-
-   Header: AliTPCGoofieValues.h,v 2.0.
-
-   Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
-
-   See cxx source for full Copyright notice 
-
-   TPC Calibration Class for GOOFIE values. Drift velocity, gas composition and the gain. 
-
-   The class AliTPCGoofieValues allows the access to GoofieValues. 
-
-   The only constructor is loading data from ASCI file. 
-
-   The methods make Tgraphs and TSplines of the time dependence of the values. 
-
-   One method allows save the the graphs and spline togather with tree of allvalues into file.        
-
-*/
-
-
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-//  TPC calibration class for Goofie values                                  //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
-
-
-#include "TSystem.h"
-#include "TString.h"
-#include "TChain.h"
-#include "TFile.h"
-#include "TTimeStamp.h"
-#include "TGraph.h"
-#include "TTree.h"
-#include "TSpline.h"
-
-class AliTPCGoofieValues : public TNamed{
-public:
-  AliTPCGoofieValues(); ///< default ctor
-  //AliTPCGoofieValues(const char *fname); ///< ctor using log file, not implemented
-  AliTPCGoofieValues(const char *fname); ///< ctor using an ASCII file
-  virtual ~AliTPCGoofieValues();///< default dtor
-  
-  
-  Long64_t GetLinesInFile();///< return lines in ASCII file 
-  Double_t GetStartTime();///< return StartTime
-  Double_t GetEndTime();///< return EndTime
-  Double_t GetTimeOfRun();///< return TimeOfRun
-  Double_t GetTempGrad(Double_t timeSec);///< return TempGrad
-  
-  Double_t EvalTempGrad(Double_t timeSec);///< evaluate temperature gradients for a certain time in seconds
-  Double_t EvalAverageTemp(Double_t timeSec);///< evaluate average temperatures for a certain time in seconds
-  Double_t EvalPress(Double_t timeSec);///< evaluate pressure for a certain time in seconds
-  Double_t EvalVdrift(Double_t timeSec);///< evaluate  drift velocities for a certain time in seconds
-  Double_t EvalVdriftcor(Double_t timeSec);///< evaluate drift velocities corrected for a certain time in seconds
-  Double_t EvalGainF(Double_t timeSec);///< evaluate near gain for a certain time in seconds
-  Double_t EvalGainN(Double_t timeSec);///< evaluate far gain for a certain time in seconds
-  Double_t EvalCO2(Double_t timeSec);///< evaluate  CO2 content for a certain time in seconds
-  Double_t EvalN2(Double_t timeSec);///< evaluate  N2 content for a certain time in seconds
-  
-  void FillAllGraphs();  ///< fill all the graphs after the tree
-  void FillAllSplines();  ///< fill all the graphs after the splines
-  
-  void FillAverageTempGraph();///<graph of average temperatures 
-  void FillTempGradGraph();///<graph of temperature gradients
-  void FillPressGraph();///<graph of pressures
-  void FillVdriftGraph();///<graph of drift velocities
-  void FillVdriftcorGraph();///<graph of drift velocities corrected
-  void FillGainFGraph();///<graph of near gain
-  void FillGainNGraph();///<graph of far gain
-  void FillCO2Graph();///<graph of CO2 content
-  void FillN2Graph();///<graph of N2 content
-  
-  void FillAverageTempSpline();///< spline of average temperatures 
-  void FillTempGradSpline();///<spline of  temperature gradients
-  void FillPressSpline();///<spline of pressures
-  void FillVdriftSpline();///<spline of drift velocities
-  void FillVdriftcorSpline();///<spline of drift velocities corrected
-  void FillGainFSpline();///<spline of near gain
-  void FillGainNSpline();///<spline of far gain
-  void FillCO2Spline();///<spline of CO2 content
-  void FillN2Spline();///<spline of  N2 content
-  TTree * GetTree(){return fGoofieValues;}
-  void PrintTree(); ///< test: print tree values onto screen
-  Bool_t    IsFolder() const {return kTRUE;}
-protected:
-  Long64_t fLinesInFile;// lines in ASCII file
-  Double_t fStartTime;// StartTime
-  Double_t fEndTime;// EndTime
-  Double_t fTimeOfRun;//TimeOfRun
-  Double_t fTempGrad;//TempGrad
-  
-  TGraph* fAverageTempGraph;//->graph of average temperatures 
-  TGraph* fTempGradGraph;//->graph of temperature gradients
-  TGraph* fPressGraph;//->graph of pressures
-  TGraph* fVdriftGraph;//->graph of drift velocities
-  TGraph* fVdriftcorGraph;//->graph of drift velocities corrected
-  TGraph* fGainFGraph;//->graph of near gain
-  TGraph* fGainNGraph;//->graph of far gain
-  TGraph* fCO2Graph;//->graph of CO2 content
-  TGraph* fN2Graph;//->graph of N2 content
-  
-  TSpline* fAverageTempSpline;// spline of average temperatures 
-  TSpline* fTempGradSpline;//spline of  temperature gradients
-  TSpline* fPressSpline;//spline of pressures
-  TSpline* fVdriftSpline;//spline of drift velocities
-  TSpline* fVdriftcorSpline;//spline of drift velocities corrected
-  TSpline* fGainFSpline;//spline of near gain
-  TSpline* fGainNSpline;//spline of far gain
-  TSpline* fCO2Spline;//spline of CO2 content
-  TSpline* fN2Spline;//spline of  N2 content
-  
-protected:
-  TTree *fGoofieValues;   // tree with all Goofie values in branches
-
-private:
-  AliTPCGoofieValues(const AliTPCGoofieValues&); // Not implemented
-  AliTPCGoofieValues& operator=(const AliTPCGoofieValues&); // Not implemented
-
-  
-  ClassDef(AliTPCGoofieValues,1)  //Basic ROOT object
-};
diff --git a/TPC/AliTPCLaserTracks.cxx b/TPC/AliTPCLaserTracks.cxx
deleted file mode 100644 (file)
index 7767f59..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-//  This class is a container class for the laser beam positions of          //
-//  the TPC laser system (ALICE-INT-2002-022  v.1 ).                         //
-//  The system consits of 6 Laser Rods, each contains four mirror bundels    //
-//  on each side of the TPC. Each bundle has seven mirrors.                  //
-//                                                                           //
-//  The TPC side 0 corresponds to the "Shaft Side (A)", side 1 corresponds   //
-//  to the "Muon Side (C)".
-//  The laser rods are counted counter clockwise starting with the one       //
-//  with the smalles phi angle.                                              //
-//  The mirror bundles in one rod for each side are counted starting from    //
-//  form the greatest z value to the smalles.                                //
-//  The beams in each bundel are counted counter clockwise. Having all beams //
-//  pointing downward, the first beam will be the leftmost.                  //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
-
-/*
- Create File with design positions
-
- .L AliTPCLaserTrack.cxx+
- AliTPCLaserTracks ltracks
- ltracks.WriteTreeDesignData()
- TFile f("LaserTracksDesing.root");
- TTree * tree =(TTree*)f.Get("LaserTracks");
-*/
-
-#include <Riostream.h>
-#include <TString.h>
-#include <TPolyLine3D.h>
-#include <TMath.h>
-#include <TTree.h>
-#include <TFile.h>
-#include <TEventList.h>
-#include <TVector2.h>
-#include <TVector3.h>
-#include <TROOT.h>
-
-#include <TGraph.h>
-
-
-#include "AliTPCLaserTracks.h"
-
-////////////////////////////////////////////////////////////////////////
-//              Class AliTPCLaserTracks
-////////////////////////////////////////////////////////////////////////
-
-using std::cout;
-using std::endl;
-ClassImp(AliTPCLaserTracks)
-
-  AliTPCLaserTracks::AliTPCLaserTracks():TObject(),
-    fId(-1),
-    fSide(-1),
-    fRod(-1),
-    fBundle(-1),
-    fBeam(-1),
-    fX(0.),
-    fY(0.),
-    fZ(0.),
-    fTime(0.),
-    fPhi(0.),
-    fTheta(0.),
-    fMaxSize(0),
-    fNpoints(0),
-    fXarr(0x0),
-    fYarr(0x0),
-    fZarr(0x0)
-
-{
-    //
-    //  AliTPCLaserTracks default constructor
-    //
-}
-
-//_______________________________________________________________________
-AliTPCLaserTracks::AliTPCLaserTracks(Int_t npoints):TObject(),
-    fId(-1),
-    fSide(-1),
-    fRod(-1),
-    fBundle(-1),
-    fBeam(-1),
-    fX(0.),
-    fY(0.),
-    fZ(0.),
-    fTime(0.),
-    fPhi(0.),
-    fTheta(0.),
-    fMaxSize(0),
-    fNpoints(0),
-    fXarr(0x0),
-    fYarr(0x0),
-    fZarr(0x0)
-
-{
-    //
-    //  AliTPCLaserTracks constructor to initialise array of points
-    //
-    fNpoints = npoints;
-    InitPoints();
-}
-
-//_______________________________________________________________________
-Double_t AliTPCLaserTracks::FindBeamLength(TVector3 vF, TVector3 vP)
-{
-    //
-    //  Find distance between mirror and the intersection between
-    //  inner and outer field cage respectively
-    //
-    //  use the pq formula to find the intersection point between
-    //  the beam and the inner and outer fieldcage cylinders
-    //  The formulae solved are
-    //
-    //                        line = zylinder
-    //  xPoint = vF.X() + n*vP.X() = r*cos(phi)
-    //  yPoint = vF.Y() + n*vP.Y() = r*sin(phi)
-    //  zPoint = vF.Y() + n*vP.Y()
-    //
-    //  get n from the first two equations, calculate x,y,zPoint
-    //
-    //  vF is the mirror position and vP the beam direction
-    Double_t r[2];  //smalles r[0] and largest r[1] pad radius
-    r[0] = 80.0;  //smalles pad radius
-    r[1] = 260.0;   //largest pad radius
-
-    Double_t fxpxfypy = vF.X()*vP.X()+vF.Y()*vP.Y();
-    Double_t px2py2   = vP.X()*vP.X()+vP.Y()*vP.Y();
-
-    for (Int_t i=0; i<2; i++){
-       Double_t rad = (fxpxfypy/px2py2)*(fxpxfypy/px2py2)-
-                     (vF.X()*vF.X()+vF.Y()*vF.Y()-r[i]*r[i])/px2py2;
-
-       if ( rad >= 0 ){
-           Double_t n1   = -(fxpxfypy)/px2py2+TMath::Sqrt(rad);
-           TVector3 vI1(vF.X()+n1*vP.X(),
-                        vF.Y()+n1*vP.Y(),
-                        vF.Z()+n1*vP.Z());
-
-           Double_t n2   = -(fxpxfypy)/px2py2-TMath::Sqrt(rad);
-           TVector3 vI2(vF.X()+n2*vP.X(),
-                        vF.Y()+n2*vP.Y(),
-                        vF.Z()+n2*vP.Z());
-
-
-           //if we cross two boarders on our way return the closer boarder
-            if ( (n1>0) && (n2>0) ) {
-               if ( (vF-vI1).Mag() <= (vF-vI2).Mag() )
-                   return (vF-vI1).Mag();
-               else
-                   return (vF-vI2).Mag();
-           }
-
-           if ( n1>0 )
-               return (vF-vI1).Mag();
-
-           if ( n2>0 )
-               return (vF-vI2).Mag();
-
-       }
-    }
-
-    return 3.4e38;  //not found!!
-}
-
-//_______________________________________________________________________
-void AliTPCLaserTracks::WriteTreeDesignData()
-{
-    //
-    //   Write a tree with the design data of the laser track positions
-    //
-
-    TFile *f = TFile::Open("LaserTracksDesing.root","recreate");
-
-    AliTPCLaserTracks *ltp = new AliTPCLaserTracks(2);
-
-    TTree *t = new TTree("LaserTracks","LaserTracks");
-    t->Branch("LaserTracks","AliTPCLaserTracks",&ltp);
-    t->AutoSave();
-
-    Double_t phiBeam[7]         = {-31.8,-16.,-9.2,2.5,9.2,16.,31.8};
-    Double_t phiRod[6]          = {40.,100.,160.,220.,280.,340.};     //-20. for the muon side
-//    Double_t zBundleCorse[2][4] = {{10,79,163,241},{13,85,169,247}};
-    Double_t zBundleCorse[2][4] = {{241.,163.,79.,10.},{247.,169.,85.,13.}};
-    Double_t zBeamFine[7]       = {1.45,1.3,1.15,1.3,1.15,1.3,1.45};
-
-    Int_t id=0;
-    //loop over TPC side -- 0:A (Shaft) side -- 1:C (Muon) side
-    for (Int_t side=0; side<2; side++){
-       //loop over laser rods -- counterclockwise
-       for (Int_t rod=0; rod<6; rod++){
-            //center of the rod
-           TVector2 vRod;
-
-            Double_t phiRod2 = phiRod[rod]-side*20;
-           vRod.SetMagPhi(254.25,                   //center of the rod at 254.25cm
-                          TMath::DegToRad()*
-                          (phiRod2)  //-20 deg on C-Side
-                         );
-
-           //loop over bundle -- counted from large z to small z
-           for (Int_t bundle=0; bundle<4; bundle++){
-               //center of the bundle; not yet rotated
-                Int_t bundleS = bundle;
-               //              if ( side == 1 ) bundleS = 4-bundle;
-               if ( side == 1 ) bundleS = 3-bundle;
-
-               TVector2 vBundle;
-               vBundle.SetMagPhi(.65,
-                                 TMath::DegToRad()*
-                               //?  TMath::Power(-1,side)*
-                                 (phiRod2+180.-90.*bundleS)
-                                );
-
-               //loop over beam
-                Int_t i=0;
-               for (Int_t beam=0; beam<7; beam++){
-                   TVector2 vBeam;
-                   if ( beam == 3 )
-                       vBeam.Set(0.,0.);
-                   else{
-                       vBeam.SetMagPhi(1.,TMath::DegToRad()*(phiRod2+i*60));
-                        i++;
-                   }
-
-                   TVector2 xyMirror = vRod+vBundle+vBeam;
-                   Double_t zMirror   = (zBundleCorse[rod%2][bundleS]+zBeamFine[beam])*TMath::Power(-1,side);
-                    TVector3 v3Mirror(xyMirror.X(),xyMirror.Y(),zMirror);
-
-                   Double_t phi      = TMath::DegToRad()*(phiRod2+180+phiBeam[beam]*TMath::Power(-1,side));
-                    Double_t theta    = TMath::DegToRad()*90;
-
-                   TVector3 v3Beam;
-                   v3Beam.SetMagThetaPhi(1,theta,phi);  //Direction Vector
-                    v3Beam.SetMagThetaPhi(FindBeamLength(v3Mirror,v3Beam), theta, phi);
-
-
-
-                   ltp->SetId(id);
-                   ltp->SetSide(side);
-                   ltp->SetRod(rod);
-                   ltp->SetBundle(bundleS);
-                   ltp->SetBeam(beam);
-
-                   ltp->SetX(xyMirror.X());
-                   ltp->SetY(xyMirror.Y());
-                   ltp->SetZ(zMirror);
-
-                   ltp->SetPhi(phi);
-                   ltp->SetTheta(theta);
-
-//                 ltp->InitPoints(2);
-                   ltp->SetPoint(0,xyMirror.X(),xyMirror.Y(),zMirror);
-                   ltp->SetPoint(1,xyMirror.X()+v3Beam.X(),xyMirror.Y()+v3Beam.Y(),zMirror+v3Beam.Z());
-
-                   cout<< "Id: " << id
-                       << "  Side: " << side
-                       << "  Rod: " << rod
-                       << "  Bundle: " << bundleS
-                       << "  Beam: " << beam
-                       << endl;
-
-
-                   t->Fill();
-                    //delete line;
-                    id++;
-//                 cout << "Filled!!!" << endl;
-               }
-           }
-       }
-    }
-
-    t->Write();
-    delete f;
-//    delete t;
-//    delete ltp;
-//    delete line;
-}
-
-//_______________________________________________________________________
-TPolyLine3D* AliTPCLaserTracks::GetLine()
-{
-  //
-  // Make a polilyne object oout of the points
-  //
-   if ( fNpoints ) return new TPolyLine3D(fNpoints,fXarr,fYarr,fZarr);
-
-    return 0x0;
-}
-
-//_______________________________________________________________________
-TObjArray* AliTPCLaserTracks::GetLines(const Char_t* file, const Char_t *cuts)
-{
-  //
-  // Read the input files with the laser track 
-  // Make a array of polylines for visualization
-  
-    TObjArray *array = new TObjArray;
-
-    TFile *f = TFile::Open(file,"read");
-    TTree *tree = (TTree*)f->Get("LaserTracks");
-
-    AliTPCLaserTracks *ltp = new AliTPCLaserTracks();
-//    TEventList *evList = new TEventList("evList");
-    TEventList evList("evList");
-
-    tree->SetBranchAddress("LaserTracks",&ltp);
-
-    tree->Draw(">>evList",cuts,"goff");
-
-//    cout << "N: " << evList.GetN() << endl;
-    gROOT->cd();
-    for (Int_t ev = 0; ev < evList.GetN(); ev++){
-//        cout << ev << endl;
-       tree->GetEntry( evList.GetEntry(ev) );
-        array->Add(ltp->GetLine());
-    }
-//    cout << "delte f"<< endl;
-//    delete f;
-
-//    cout << "evlist" << endl;
-
-    return array;
-}
-
-//_______________________________________________________________________
-void AliTPCLaserTracks::InitPoints()
-{
-    //
-    //  Init point arrays
-    //
-
-    fMaxSize = fNpoints;
-    fXarr = new Double_t[fMaxSize];
-    fYarr = new Double_t[fMaxSize];
-    fZarr = new Double_t[fMaxSize];
-}
-
-//_______________________________________________________________________
-Int_t AliTPCLaserTracks::SetPoint(Int_t point, Double_t x, Double_t y, Double_t z)
-{
-    //
-    // Set point to point arrays
-    //
-
-    if ( !fXarr || !fYarr || !fZarr ) return 1;
-    if ( point > fNpoints-1 ) return 1;
-
-    fXarr[point] = x;
-    fYarr[point] = y;
-    fZarr[point] = z;
-    return 0;
-}
-
-//_______________________________________________________________________
-Int_t AliTPCLaserTracks::FindMirror(Char_t *file, Double_t x, Double_t y, Double_t z, Double_t phi)
-{
-    //
-    //  return the id of the mirror in 'file' that maches best the given parameters
-    //
-
-    TFile *f = TFile::Open(file,"read");
-    TTree *tree = (TTree*)f->Get("LaserTracks");
-
-    AliTPCLaserTracks *ltp = new AliTPCLaserTracks();
-    TEventList evList("evList");
-
-    tree->SetBranchAddress("LaserTracks",&ltp);
-
-    TString s;
-    s = "abs(fX-"; s+= x;
-    s+= ")<3&&abs(fY-"; s+=y;
-    s+= ")<3&&abs(fZ-"; s+= z;
-    s+= ")<1.5";
-//    s+= "&&((abs(fPhi-";s+= phi;
-//    s+= ")<.06)||(abs(fPhi-";s+= (phi-TMath::DegToRad()*180);
-//    s+= ")<.06))";
-    cout << s.Data() << endl;
-
-    tree->Draw(">>evList",s.Data());
-
-    Double_t dphiMin=TMath::Pi();
-    Int_t id=-1;
-
-    cout << "nev: " << evList.GetN() << endl;
-    for (Int_t i=0; i<evList.GetN(); i++){
-       tree->GetEntry( evList.GetEntry(i) );
-       Double_t dphi = TMath::Abs(ltp->GetPhi() - phi);
-       if ( dphi > TMath::DegToRad()*180 ) dphi-=TMath::DegToRad()*180;
-       if ( dphi<dphiMin ) {
-            dphiMin = dphi;
-           id = ltp->GetId();
-       }
-    }
-    delete f;
-    return id;
-}
-
-//_______________________________________________________________________
-AliTPCLaserTracks::~AliTPCLaserTracks()
-{
-    //
-    //  standard destructor
-    //
-
-//    if ( fP ) delete fP;
-    if ( fXarr ) delete [] fXarr;
-    if ( fYarr ) delete [] fYarr;
-    if ( fZarr ) delete [] fZarr;
-}
diff --git a/TPC/AliTPCLaserTracks.h b/TPC/AliTPCLaserTracks.h
deleted file mode 100644 (file)
index f233160..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef ALITPCLASERTRACKS_H
-#define ALITPCLASERTRACKS_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-////////////////////////////////////////////////////////////////////////////
-//              Container class for laser track positions                 //
-////////////////////////////////////////////////////////////////////////////
-
-class TString;
-class TPolyLine3D;
-class TObjArray;
-class TGraph;
-class TVector3;
-
-
-////////////////////////////////////////////////////////////////////////
-//              Class AliTPCLaserTracks
-////////////////////////////////////////////////////////////////////////
-class AliTPCLaserTracks : public TObject {
-
-public:
-    AliTPCLaserTracks();
-    AliTPCLaserTracks(Int_t npoints);
-    virtual ~AliTPCLaserTracks();
-
-    Int_t GetId()    const {return fId;     }
-    Int_t GetSide()  const {return fSide;   }
-    Int_t GetRod()   const {return fRod;    }
-    Int_t GetBundle() const {return fBundle; }
-    Int_t GetBeam()  const {return fBeam;   }
-
-    Double_t GetX()  const  {return fX;    }
-    Double_t GetY()  const   {return fY;    }
-    Double_t GetZ()  const  {return fZ;    }
-    Double_t GetPhi() const  {return fPhi;  }
-    Double_t GetTheta() const{return fTheta;}
-
-    TPolyLine3D *GetLine();
-    Int_t SetPoint(Int_t point, Double_t x, Double_t y, Double_t z);
-
-
-
-    void SetId    (Int_t id)    {fId     = id;    }
-    void SetSide  (Int_t side)  {fSide   = side;  }
-    void SetRod   (Int_t rod)   {fRod    = rod;   }
-    void SetBundle(Int_t bundle){fBundle = bundle;}
-    void SetBeam  (Int_t beam)  {fBeam   = beam;  }
-
-    void SetX    (Double_t x)    {fX     = x;    }
-    void SetY    (Double_t y)    {fY     = y;    }
-    void SetZ    (Double_t z)    {fZ     = z;    }
-    void SetPhi  (Double_t phi)  {fPhi   = phi;  }
-    void SetTheta(Double_t theta){fTheta = theta;}
-
-//    void SetLine(TPolyLine3D *l) {fLine  = l;    }
-
-    void WriteTreeDesignData();
-
-    Int_t FindMirror(Char_t *file, Double_t x, Double_t y, Double_t z, Double_t phi);
-
-    TObjArray* GetLines(const Char_t* file, const Char_t *cuts="");
-
-protected:
-    Int_t fId;              //Laser beam id            (0-335)
-    Int_t fSide;            //TPC side; 0:Shaft Side (A) -- 1:Muon Side (C)
-    Int_t fRod;             //Laser Rod                (0-5)
-    Int_t fBundle;          //Mirror bundle in the Rod (0-3)
-    Int_t fBeam;            //Laser Beam in the bundle (0-6)
-
-    Double_t fX;             //X-position of the mirror in the bundle
-    Double_t fY;             //Y-position of the mirror in the bundle
-    Double_t fZ;             //Z-position of the mirror in the bundle
-    Double_t fTime;          //time-position of the mirror in the bundle
-    Double_t fPhi;           //Phi direction of the laser beam
-    Double_t fTheta;         //Theta direction of the laser beam
-
-//    TPolyLine3D *fLine;      //Line of the track in the TPC
-    Int_t fMaxSize;          //! Number of points in array
-    Int_t fNpoints;          //Number of points
-
-    Double_t  *fXarr;            //[fNpoints] array of a line (x,y,z)
-    Double_t  *fYarr;            //[fNpoints] array of a line (x,y,z)
-    Double_t  *fZarr;            //[fNpoints] array of a line (x,y,z)
-
-    void InitPoints();
-
-    Double_t FindBeamLength(TVector3 vS, TVector3 vP);
-
-private:
-    AliTPCLaserTracks(const AliTPCLaserTracks &param); // copy constructor
-    AliTPCLaserTracks &operator = (const AliTPCLaserTracks & param);
-
-    ClassDef(AliTPCLaserTracks,1)
-};
-
-
-
-#endif
-
diff --git a/TPC/AliTPCParamCR.cxx b/TPC/AliTPCParamCR.cxx
deleted file mode 100644 (file)
index 6852426..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////
-//  Manager and of geomety  classes for set: TPC                     //
-//                                                                   //
-//  !sectors are numbered from  0                                     //
-//  !pad rows are numbered from 0                                     //
-//  
-//  27.7.   - AliTPCPaaramSr object for TPC 
-//            TPC with straight pad rows 
-//  Origin:  Marian Ivanov, Uni. of Bratislava, ivanov@fmph.uniba.sk // 
-//                                                                   //  
-///////////////////////////////////////////////////////////////////////
-
-
-#include <Riostream.h>
-#include <TMath.h>
-#include <TClass.h>
-#include <AliTPCParamCR.h>
-#include "AliTPCPRF2D.h"
-#include "AliTPCRF1D.h"
-
-
-
-ClassImp(AliTPCParamCR)
-static const  Int_t kMaxRows=600;
-static const  Float_t  kEdgeSectorSpace = 2.5;
-
-AliTPCParamCR::AliTPCParamCR()
-              :AliTPCParam(),
-              fInnerPRF(0),
-              fOuter1PRF(0),
-              fOuter2PRF(0),
-               fTimeRF(0),
-              fFacSigma(0.)
-{   
-  //
-  //constructor set the default parameters
-
-  fFacSigma = Float_t(2.);
-  SetDefault();
-  Update();
-}
-
-AliTPCParamCR::~AliTPCParamCR()
-{
-  //
-  //destructor destroy some dynmicaly alocated variables
-  if (fInnerPRF != 0) delete fInnerPRF;
-  if (fOuter1PRF != 0) delete fOuter1PRF;
-  if (fOuter2PRF != 0) delete fOuter2PRF;
-  if (fTimeRF != 0) delete fTimeRF;
-}
-
-void AliTPCParamCR::SetDefault()
-{
-  //set default TPC param   
-  fbStatus = kFALSE;
-  AliTPCParam::SetDefault();  
-}  
-
-Int_t  AliTPCParamCR::CalcResponse(Float_t* xyz, Int_t * index, Int_t /*dummy*/)
-{
-  //
-  //calculate bin response as function of the input position -x 
-  //return number of valid response bin
-  //
-  //we suppose that coordinata is expressed in float digits 
-  // it's mean coordinate system 8
-  //xyz[0] - float padrow xyz[1] is float pad  (center pad is number 0) and xyz[2] is float time bin
-  if ( (fInnerPRF==0)||(fOuter1PRF==0) ||(fOuter2PRF==0)||(fTimeRF==0) ){ 
-    Error("AliTPCParamCR", "response function were not adjusted");
-    return -1;
-  }
-  
-  Float_t sfpadrow;   // sigma of response function
-  Float_t sfpad;      // sigma  of 
-  Float_t sftime= fFacSigma*fTimeRF->GetSigma()/fZWidth;     //3 sigma of time response
-  if (index[1]<fNInnerSector){
-    sfpadrow =fFacSigma*fInnerPRF->GetSigmaY()/fInnerPadPitchLength;
-    sfpad    =fFacSigma*fInnerPRF->GetSigmaX()/fInnerPadPitchWidth;
-  }else{
-    if(index[2]<fNRowUp1){
-      sfpadrow =fFacSigma*fOuter1PRF->GetSigmaY()/fOuter1PadPitchLength;
-      sfpad    =fFacSigma*fOuter1PRF->GetSigmaX()/fOuterPadPitchWidth;}
-    else{ sfpadrow =fFacSigma*fOuter2PRF->GetSigmaY()/fOuter2PadPitchLength;
-    sfpad    =fFacSigma*fOuter2PRF->GetSigmaX()/fOuterPadPitchWidth;}
-  }
-
-  Int_t fpadrow = TMath::Nint(xyz[0]-sfpadrow);  //"first" padrow
-  Int_t fpad    = TMath::Nint(xyz[1]-sfpad);     //first pad
-  Int_t ftime   = TMath::Nint(xyz[2]+fTimeRF->GetOffset()-sftime);    // first time
-  Int_t lpadrow = TMath::Min(TMath::Nint(xyz[0]+sfpadrow),fpadrow+19);  //"last" padrow
-  Int_t lpad    = TMath::Min(TMath::Nint(xyz[1]+sfpad),fpad+19);     //last pad
-  Int_t ltime   = TMath::Min(TMath::Nint(xyz[2]+fTimeRF->GetOffset()+sftime),ftime+19);    // last time
-   
-  Float_t  padres[20][20];  //I don't expect bigger number of bins
-  Float_t  timeres[20];     
-  //calculate padresponse function 
-  Int_t padrow; 
-  for (padrow = fpadrow;padrow<=lpadrow;padrow++)
-    for (Int_t pad = fpad;pad<=lpad;pad++){
-      Float_t dy = (xyz[0]-Float_t(padrow));
-      Float_t dx = (xyz[1]-Float_t(pad));
-      if (index[1]<fNInnerSector)
-       padres[padrow-fpadrow][pad-fpad]=fInnerPRF->GetPRF(dx*fInnerPadPitchWidth,dy*fInnerPadPitchLength);
-      else{
-       if(index[2]<fNRowUp1){
-         padres[padrow-fpadrow][pad-fpad]=fOuter1PRF->GetPRF(dx*fOuterPadPitchWidth,dy*fOuter1PadPitchLength);}
-       else{ padres[padrow-fpadrow][pad-fpad]=fOuter2PRF->GetPRF(dx*fOuterPadPitchWidth,dy*fOuter2PadPitchLength);}}}     
-    
-  //calculate time response function
-
-  Int_t time;
-  for (time = ftime;time<=ltime;time++) timeres[time-ftime]= fTimeRF->GetRF((xyz[2]-Float_t(time))*fZWidth); 
-    
-  //write over threshold values to stack
-  Int_t cindex3=-1;
-  Int_t cindex=0;
-  Float_t cweight = 0;
-  for (padrow = fpadrow;padrow<=lpadrow;padrow++)
-    for (Int_t pad = fpad;pad<=lpad;pad++)
-      for (time = ftime;time<=ltime;time++){
-       cweight = timeres[time-ftime]*padres[padrow-fpadrow][pad-fpad];
-       if (cweight>fResponseThreshold) {
-         fResponseBin[++cindex3]=padrow;
-         fResponseBin[++cindex3]=pad;
-         fResponseBin[++cindex3]=time;
-         fResponseWeight[++cindex]=cweight;
-       }
-      }
-  fCurrentMax=cindex;  
-  return fCurrentMax;
-}
-
-void AliTPCParamCR::CRXYZtoXYZ(Float_t *xyz,
-              const Int_t &sector, const Int_t & padrow, Int_t option) const  
-{  
-  //transform relative coordinates to absolute
-  Bool_t rel = ( (option&2)!=0);
-  Int_t index[3]={sector,padrow,0};
-  if (rel==kTRUE)      Transform4to3(xyz,index);//if the position is relative to pad row  
-  Transform2to1(xyz,index);
-}
-
-void AliTPCParamCR::XYZtoCRXYZ(Float_t *xyz,
-                            Int_t &sector, Int_t & padrow, Int_t option) const
-{
-   //transform global position to the position relative to the sector padrow
-  //if option=0  X calculate absolute            calculate sector
-  //if option=1  X           absolute            use input sector
-  //if option=2  X           relative to pad row calculate sector
-  //if option=3  X           relative            use input sector
-  //!!!!!!!!! WE start to calculate rows from row = 0
-  Int_t index[3]={0,0,0};
-  Bool_t rel = ( (option&2)!=0);  
-
-  //option 0 and 2  means that we don't have information about sector
-  if ((option&1)==0)   Transform0to1(xyz,index);  //we calculate sector number 
-  else
-    index[0]=sector;
-  Transform1to2(xyz,index);
-  Transform2to3(xyz,index);
-  //if we store relative position calculate position relative to pad row
-  if (rel==kTRUE) Transform3to4(xyz,index);
-  sector = index[0];
-  padrow = index[1];
-}
-
-
-         
-Bool_t AliTPCParamCR::Update()
-{
-  Int_t i;
-  if (AliTPCParam::Update()==kFALSE) return kFALSE;
-  fbStatus = kFALSE;
-
- Float_t firstrow = fInnerRadiusLow + 2.225 ;   
- for( i= 0;i<fNRowLow;i++)
-   {
-     Float_t x = firstrow + fInnerPadPitchLength*(Float_t)i;  
-     fPadRowLow[i]=x;
-     // number of pads per row
-/*Float_t y = (x-0.5*fInnerPadPitchLength)*tan(fInnerAngle/2.)-fInnerWireMount-
-       fInnerPadPitchWidth/2.;*/
-     Float_t y = x*tan(fInnerAngle/2.)-fInnerWireMount;
-     fYInner[i]=y;
-     fNPadsLow[i] = 1+2*(Int_t)(y/fInnerPadPitchWidth) ;
-
-   }
- firstrow = fOuterRadiusLow + 1.6;
- for(i=0;i<fNRowUp;i++)
-   {
-     if(i<fNRowUp1){
-       Float_t x = firstrow + fOuter1PadPitchLength*(Float_t)i; 
-       fPadRowUp[i]=x;
-/*Float_t y =(x-0.5*fOuter1PadPitchLength)*tan(fOuterAngle/2.)-fOuterWireMount-
-  fOuterPadPitchWidth/2.;*/
-       Float_t y = x*tan(fInnerAngle/2.)-fInnerWireMount;
-       fNPadsUp[i] = 1+2*(Int_t)(y/fOuterPadPitchWidth) ;
-       fYOuter[i] = y;   
-       if(i==fNRowUp1-1) {
-           fLastWireUp1=fPadRowUp[i] +0.375;
-           firstrow = fPadRowUp[i] + 0.5*(fOuter1PadPitchLength+fOuter2PadPitchLength);
-       }
-     }
-     else
-       {
-        Float_t x = firstrow + fOuter2PadPitchLength*(Float_t)(i-64);
-/*Float_t y =(x-0.5*fOuter2PadPitchLength)*tan(fOuterAngle/2.)-fOuterWireMount-
-  fOuterPadPitchWidth/2.;*/
-        Float_t y = x*tan(fInnerAngle/2.)-fInnerWireMount;
-         fNPadsUp[i] = 1+2*(Int_t)(y/fOuterPadPitchWidth) ;
-        fYOuter[i] = y;
-       }
-   }   
-     
-  fNtRows = fNInnerSector*fNRowLow+fNOuterSector*fNRowUp;
-  fbStatus = kTRUE;
-  return kTRUE;
-}
-
-
-
-void AliTPCParamCR::Streamer(TBuffer &R__b)
-{
-   // Stream an object of class AliTPC.
-
-   if (R__b.IsReading()) {
-      AliTPCParamCR::Class()->ReadBuffer(R__b, this);
-      Update();
-   } else {
-      AliTPCParamCR::Class()->WriteBuffer(R__b, this);
-   }
-}
-
-
-
-
-
-
-
-
-
-
diff --git a/TPC/AliTPCParamCR.h b/TPC/AliTPCParamCR.h
deleted file mode 100644 (file)
index a00d366..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef TPCParamCR_H
-#define TPCParamCR_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-////////////////////////////////////////////////
-//  Manager class for TPC parameters          //
-////////////////////////////////////////////////
-#include "AliTPCParam.h"
-
-class AliTPCRF1D;
-class AliTPCPRF2D;
-
-class AliTPCParamCR : public AliTPCParam {
-public:
-  AliTPCParamCR();
-  virtual ~AliTPCParamCR();
-  Int_t  CalcResponse(Float_t* x, Int_t * index, Int_t dummy=0);
-  //calculate bin response as function of the input position -x 
-  //return number of valid response bin
-  
-  void XYZtoCRXYZ(Float_t *xyz, 
-                 Int_t &sector, Int_t &padrow, Int_t option=3) const;
-  //transform global position to the position relative to the sector padrow
-  //if option=0  X calculate absolute            calculate sector
-  //if option=1  X           absolute            use input sector
-  //if option=2  X           relative to pad row calculate sector
-  //if option=3  X           relative            use input sector
-
-  void CRXYZtoXYZ(Float_t *xyz,
-           const Int_t &sector, const Int_t & padrow, Int_t option=3) const;  
-  //transform relative position  to the gloabal position
-  Bool_t Update();            //recalculate and check geometric parameters 
-  void SetDefault();          //set default parameters
-  void   SetInnerPRF(AliTPCPRF2D * prf) {fInnerPRF = prf;}
-  void   SetOuter1PRF(AliTPCPRF2D * prf) {fOuter1PRF = prf;}
-  void   SetOuter2PRF(AliTPCPRF2D * prf) {fOuter2PRF = prf;}
-  void   SetTimeRF(AliTPCRF1D * timerf) {fTimeRF = timerf;}
-
-  AliTPCPRF2D * GetInnerPRF() const {return fInnerPRF;}
-  AliTPCPRF2D * GetOuter1PRF() const {return fOuter1PRF;}
-  AliTPCPRF2D * GetOuter2PRF() const {return fOuter2PRF;}
-  AliTPCRF1D  * GetTimeRF()   const {return fTimeRF;}
-protected:
-  AliTPCPRF2D * fInnerPRF;         //!pad response function object for inner sector
-  AliTPCPRF2D * fOuter1PRF;         //!pad response function object for inner sector 
-  AliTPCPRF2D * fOuter2PRF;  
-  AliTPCRF1D  * fTimeRF;           //!time response function object
-  Float_t       fFacSigma;         //factor-how many sigma of response I accept
-
-private:
-  AliTPCParamCR(const AliTPCParamCR &param); // copy constructor
-  AliTPCParamCR &operator = (const AliTPCParamCR & param); //assignment operator
-
-  ClassDef(AliTPCParamCR,2)  //parameter  object for set:TPC
-};
-
-#endif  
diff --git a/TPC/AliTPCRawStream.cxx b/TPC/AliTPCRawStream.cxx
deleted file mode 100644 (file)
index 57701c8..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-///
-/// This class provides access to TPC digits in raw data.
-///
-/// It loops over all TPC digits in the raw data given by the AliRawReader.
-/// The Next method goes to the next digit. If there are no digits left
-/// it returns kFALSE.
-/// Several getters provide information about the current digit.
-///
-///////////////////////////////////////////////////////////////////////////////
-
-#include <TSystem.h>
-
-#include "AliTPCRawStream.h"
-#include "AliRawReader.h"
-#include "AliLog.h"
-#include "AliTPCAltroMapping.h"
-
-ClassImp(AliTPCRawStream)
-
-//_____________________________________________________________________________
-AliTPCRawStream::AliTPCRawStream(AliRawReader* rawReader, AliAltroMapping **mapping) :
-  AliAltroRawStream(rawReader),
-  fSector(-1),
-  fPrevSector(-1),
-  fRow(-1),
-  fPrevRow(-1),
-  fPad(-1),
-  fPrevPad(-1),
-  fIsMapOwner(kFALSE)
-{
-  // create an object to read TPC raw digits
-
-  SelectRawData("TPC");
-
-  if (mapping == NULL) {
-    TString path = gSystem->Getenv("ALICE_ROOT");
-    path += "/TPC/mapping/Patch";
-    TString path2;
-    for(Int_t i = 0; i < 6; i++) {
-      path2 = path;
-      path2 += i;
-      path2 += ".data";
-      fMapping[i] = new AliTPCAltroMapping(path2.Data());
-    }
-    fIsMapOwner = kTRUE;
-  }
-  else {
-    for(Int_t i = 0; i < 6; i++)
-      fMapping[i] = mapping[i];
-  }
-    
-}
-
-//_____________________________________________________________________________
-AliTPCRawStream::AliTPCRawStream(const AliTPCRawStream& stream) :
-  AliAltroRawStream(stream),
-  fSector(stream.fSector),
-  fPrevSector(stream.fPrevSector),
-  fRow(stream.fRow),
-  fPrevRow(stream.fPrevRow),
-  fPad(stream.fPad),
-  fPrevPad(stream.fPrevPad),
-  fIsMapOwner(kFALSE)
-{
-  for(Int_t i = 0; i < 6; i++) fMapping[i] = stream.fMapping[i];
-}
-
-//_____________________________________________________________________________
-AliTPCRawStream& AliTPCRawStream::operator = (const AliTPCRawStream& stream)
-{
-  if(&stream == this) return *this;
-
-  ((AliAltroRawStream *)this)->operator=(stream);
-
-  fSector = stream.fSector;
-  fPrevSector = stream.fPrevSector;
-  fRow = stream.fRow;
-  fPrevRow = stream.fPrevRow;
-  fPad = stream.fPad;
-  fPrevPad = stream.fPrevPad;
-  fIsMapOwner = kFALSE;
-
-  for(Int_t i = 0; i < 6; i++) fMapping[i] = stream.fMapping[i];
-
-  return *this;
-}
-
-//_____________________________________________________________________________
-AliTPCRawStream::~AliTPCRawStream()
-{
-// destructor
-
-  if (fIsMapOwner)
-    for(Int_t i = 0; i < 6; i++) delete fMapping[i];
-}
-
-//_____________________________________________________________________________
-void AliTPCRawStream::Reset()
-{
-  // reset tpc raw stream params
-  AliAltroRawStream::Reset();
-  fSector = fPrevSector = fRow = fPrevRow = fPad = fPrevPad = -1;
-}
-
-//_____________________________________________________________________________
-Bool_t AliTPCRawStream::Next()
-{
-  // Read next TPC signal
-  // Apply the TPC altro mapping to get
-  // the sector,pad-row and pad indeces
-  fPrevSector = fSector;
-  fPrevRow = fRow;
-  fPrevPad = fPad;
-  if (AliAltroRawStream::Next()) {
-    if (IsNewHWAddress())
-      ApplyAltroMapping();
-    return kTRUE;
-  }
-  else
-    return kFALSE;
-}
-
-//_____________________________________________________________________________
-void AliTPCRawStream::ApplyAltroMapping()
-{
-  // Take the DDL index, load
-  // the corresponding altro mapping
-  // object and fill the sector,row and pad indeces
-  Int_t ddlNumber = GetDDLNumber();
-  Int_t patchIndex;
-  if (ddlNumber < 72) {
-    fSector = ddlNumber / 2;
-    patchIndex = ddlNumber % 2;
-  }
-  else {
-    fSector = (ddlNumber - 72) / 4 + 36;
-    patchIndex = (ddlNumber - 72) % 4 + 2;
-  }
-
-  Short_t hwAddress = GetHWAddress();
-  fRow = fMapping[patchIndex]->GetPadRow(hwAddress);
-  fPad = fMapping[patchIndex]->GetPad(hwAddress);
-
-  if ((fRow < 0) || (fPad < 0))
-    AddMappingErrorLog(Form("hw=%d",hwAddress)); 
-}
diff --git a/TPC/AliTPCRawStream.h b/TPC/AliTPCRawStream.h
deleted file mode 100644 (file)
index e314189..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef ALITPCRAWSTREAM_H
-#define ALITPCRAWSTREAM_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-///////////////////////////////////////////////////////////////////////////////
-///
-/// This class provides access to TPC digits in raw data.
-///
-///////////////////////////////////////////////////////////////////////////////
-
-#include "AliAltroRawStream.h"
-
-class AliRawReader;
-class AliAltroMapping;
-
-class AliTPCRawStream: public AliAltroRawStream {
-  public :
-    AliTPCRawStream(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
-    virtual ~AliTPCRawStream();
-
-    virtual void             Reset();
-    virtual Bool_t           Next();
-
-    inline Int_t GetSector()     const { return fSector; }     // Provide index of current sector
-    inline Int_t GetPrevSector() const { return fPrevSector; } // Provide index of previous sector
-    inline Bool_t  IsNewSector() const {return fSector != fPrevSector;};
-    inline Int_t GetRow()        const { return fRow; }        // Provide index of current row
-    inline Int_t GetPrevRow()    const { return fPrevRow; }    // Provide index of previous row
-    inline Bool_t  IsNewRow()    const {return (fRow != fPrevRow) || IsNewSector();};
-    inline Int_t GetPad()        const { return fPad; }        // Provide index of current pad
-    inline Int_t GetPrevPad()    const { return fPrevPad; }    // Provide index of previous pad
-    inline Bool_t  IsNewPad()    const {return (fPad != fPrevPad) || IsNewRow();};
-
-    AliTPCRawStream& operator = (const AliTPCRawStream& stream);
-    AliTPCRawStream(const AliTPCRawStream& stream);
-
-  protected :
-
-    virtual void ApplyAltroMapping();
-
-    Int_t            fSector;       // index of current sector
-    Int_t            fPrevSector;   // index of previous sector
-    Int_t            fRow;          // index of current row
-    Int_t            fPrevRow;      // index of previous row
-    Int_t            fPad;          // index of current pad
-    Int_t            fPrevPad;      // index of previous pad
-
-    AliAltroMapping *fMapping[6];   // Pointers to ALTRO mapping
-    Bool_t           fIsMapOwner;   // does object own its mappings?
-
-    ClassDef(AliTPCRawStream, 0)    // base class for reading TPC raw digits
-};
-
-#endif
index 398b7a7..db9dfdd 100644 (file)
@@ -7,7 +7,7 @@ class AliTPCseed;
 class AliExternalTrackParam;
 class AliESDtrack;
 class AliRieman;
-class AliTPCtrackerMI;
+class AliTPCtracker;
 class TTreeSRedirector;
 
 class AliTPCcalibAlignment:public TNamed {
index 7e35d4d..495502e 100644 (file)
@@ -62,7 +62,6 @@
 #include "AliTPCRecoParam.h"
 #include "AliTPCclusterMI.h"
 #include "AliTPCseed.h"
-#include "AliTPCPointCorrection.h"
 #include <TGeoManager.h>
 #include <TGeoPhysicalNode.h>
 #include "TDatabasePDG.h"
diff --git a/TPC/AliTPCdigit.cxx b/TPC/AliTPCdigit.cxx
deleted file mode 100644 (file)
index ab0876e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-///                                                                          //
-///  Time Projection Chamber Digit                                           //
-///                                                                          //
-///////////////////////////////////////////////////////////////////////////////
-
-#include "AliTPCdigit.h"
-
-
-ClassImp(AliTPCdigit)
-  //_____________________________________________________________________
-  AliTPCdigit::AliTPCdigit()
-              :AliDigit(),
-              fSector(0),
-               fPadRow(0),
-               fPad(0),
-               fTime(0),
-               fSignal(0)
-{
-  //
-  //   default constructor
-  //
-} 
-//_____________________________________________________________________________
-AliTPCdigit::AliTPCdigit(Int_t *tracks, Int_t *digits)
-            :AliDigit(tracks),
-              fSector(0),
-               fPadRow(0),
-               fPad(0),
-              fTime(0),
-               fSignal(0)
-{
-  //
-  // Creates a TPC digit object
-  //
-  fSector     = digits[0];
-  fPadRow     = digits[1];
-  fPad        = digits[2];
-  fTime       = digits[3];
-  fSignal     = digits[4];
-}
-
diff --git a/TPC/AliTPCdigit.h b/TPC/AliTPCdigit.h
deleted file mode 100644 (file)
index d3e9ad5..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef ALITPCDIGIT_H
-#define ALITPCDIGIT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-////////////////////////////////////////////////
-// Digit class for TPC                        //
-////////////////////////////////////////////////
-#include "AliDigit.h" 
-
-
-class AliTPCdigit : public AliDigit {
-public:
-   Int_t     fSector;     //array of volumes
-   Int_t     fPadRow;     //Row number
-   Int_t     fPad ;       //Pad number
-   Int_t     fTime;       //Time bucket
-   Int_t     fSignal;     //Signal amplitude
-public:
-   AliTPCdigit();
-   AliTPCdigit(Int_t *tracks, Int_t *digits);
-   virtual ~AliTPCdigit() {}
-   ClassDef(AliTPCdigit,1)  // Time Projection Chamber digits
-};
-
-#endif
diff --git a/TPC/AliTPCeventInfo.cxx b/TPC/AliTPCeventInfo.cxx
deleted file mode 100644 (file)
index 0c0f4f8..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-#include "AliTPCeventInfo.h"
-
-/*
-   Placeholder for the TPC event specific information
-   
-
-*/
-
-ClassImp(AliTPCeventInfo)
-
-AliTPCeventInfo::AliTPCeventInfo()
-  :fNSamples(0),
-   fSamplingRate(0),
-   fSamplingPhase(0),
-   fBC(kFALSE),
-   fBCMode1(0),
-   fBCMode2(0),
-   fBCPre(0),
-   fBCPost(0),
-   fNPreTrigger(0),
-   fTC(kFALSE),
-   fZS(kFALSE),
-   fZSGlitchFilter(0),
-   fZSPre(0),
-   fZSPost(0),
-   fZSOffset(0) {
-  //
-  // Constructor
-  //
-}
-
-AliTPCeventInfo::~AliTPCeventInfo() {
-  //
-  // destructor
-  //
-}
diff --git a/TPC/AliTPCeventInfo.h b/TPC/AliTPCeventInfo.h
deleted file mode 100644 (file)
index 18b254a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-#ifndef ALITPCEVENTINFO_H
-#define ALITPCEVENTINFO_H
-
-#include <TObject.h>
-
-class AliTPCeventInfo:public TObject {
-public:
-  AliTPCeventInfo();
-  virtual ~AliTPCeventInfo();
-
-  Int_t GetNSamples() const {return fNSamples;}
-  void SetNSamples(Int_t NSamples) {fNSamples=NSamples;};
-  Int_t GetSamplingRate() const {return fSamplingRate;}
-  void SetSamplingRate(Int_t SamplingRate) {fSamplingRate=SamplingRate;}
-  Int_t GetSamplingPhase() const {return fSamplingPhase;}
-  void SetSamplingPhase(Int_t SamplingPhase) {fSamplingPhase=SamplingPhase;}
-
-  Bool_t GetBC() const {return fBC;}
-  void SetBC(Bool_t BC) {fBC=BC;}
-  Int_t GetBCMode1() const {return fBCMode1;}
-  void SetBCMode1(Int_t BCMode1) {fBCMode1=BCMode1;}
-  Int_t GetBCMode2() const {return fBCMode2;}
-  void SetBCMode2(Int_t BCMode2) {fBCMode2=BCMode2;}
-  Int_t GetBCPre() const {return fBCPre;}
-  void SetBCPre(Int_t BCPre) {fBCPre=BCPre;}
-  Int_t GetBCPost() const {return fBCPost;}
-  void SetBCPost(Int_t BCPost) {fBCPost=BCPost;}
-
-  Int_t GetNPreTrigger() const {return fNPreTrigger;}
-  void SetNPreTrigger(Int_t NPreTrigger) {fNPreTrigger=NPreTrigger;}
-  Bool_t GetTC() const {return fTC;}
-  void SetTC(Bool_t TC) {fTC=TC;}
-
-  Bool_t GetZS() const {return fZS;}
-  void SetZS(Bool_t ZS) {fZS=ZS;}
-  Int_t GetZSGlitchFilter() const {return fZSGlitchFilter;}
-  void SetZSGlitchFilter(Int_t ZSGlitchFilter) {fZSGlitchFilter=ZSGlitchFilter;}
-  Int_t GetZSPre() const {return fZSPre;}
-  void SetZSPre(Int_t ZSPre) {fZSPre=ZSPre;}
-  Int_t GetZSPost() const {return fZSPost;}
-  void SetZSPost(Int_t ZSPost) {fZSPost=ZSPost;}
-  Int_t GetZSOffset() const {return fZSOffset;}
-  void SetZSOffset(Int_t ZSOffset) {fZSOffset=ZSOffset;}
-
-private:
-  Int_t fNSamples; // Number of samples per channel
-  Int_t fSamplingRate; // ?
-  Int_t fSamplingPhase; // ?
-
-  Bool_t fBC; // Baseline correction enabled?
-  Int_t fBCMode1; // 1st baseline correction mode
-  Int_t fBCMode2; // 2nd baseline correction mode
-  Int_t fBCPre; // Number of presamples excluded from 2nd baseline correction
-  Int_t fBCPost; // Number of postsamples excluded from 2nd baseline correction
-  Int_t fNPreTrigger; // Number of pre-trigger samples
-  Bool_t fTC; // Tail cancelation filter?
-
-  Bool_t fZS; // Zero suppresion enabled?
-  Int_t fZSGlitchFilter; // Glitch filter configuration for zero suppression
-  Int_t fZSPre; // Number of presamples excluded from zero suppression
-  Int_t fZSPost; // Number of postsamples excluded from zero suppression
-  Int_t fZSOffset; // Zero suppression offset
-
-  ClassDef(AliTPCeventInfo,1)
-};
-
-#endif
similarity index 84%
rename from TPC/AliTPCCalibTCF.cxx
rename to TPC/Attic/AliTPCCalibTCF.cxx
index ba909d5..07cc02b 100644 (file)
@@ -40,7 +40,6 @@
 #include <TEntryList.h>
 #include "AliRawReaderRoot.h"
 #include "AliRawHLTManager.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCRawStreamV3.h"
 #include "AliTPCROC.h"
 
@@ -166,52 +165,6 @@ void AliTPCCalibTCF::ProcessRawFileV3(const char *nameRawFile, const char *nameF
   
 }
 
-
-//_____________________________________________________________________________
-void AliTPCCalibTCF::ProcessRawFile(const char *nameRawFile, const char *nameFileOut, bool bUseHLTOUT) {
-  //
-  // Loops over all events within one RawData file and collects proper pulses 
-  // (according to given tresholds) per pad
-  // Histograms per pad are stored in 'nameFileOut'
-  //
-  
-  // create the data reader
-  AliRawReader *rawReader = new AliRawReaderRoot(nameRawFile);
-  if (!rawReader) {
-    return;
-  }
-  
-  // create HLT reader for redirection of TPC data from HLTOUT to TPC reconstruction
-  AliRawReader *hltReader=AliRawHLTManager::AliRawHLTManager::CreateRawReaderHLT(rawReader, "TPC");
-
-  // now choose the data source
-  if (bUseHLTOUT) rawReader=hltReader;
-
-  //  rawReader->Reset();
-  rawReader->RewindEvents();
-
-  if (!rawReader->NextEvent()) {
-    printf("no events found in %s\n",nameRawFile);
-    return;
-  }
-
-  Int_t ievent=0;
-  do {  
-    AliSysInfo::AddStamp(Form("start_event_%d",ievent), ievent,-1,-1);
-    printf("Reading next event ... Nr: %d\n",ievent);
-    AliTPCRawStream *rawStream = new AliTPCRawStream(rawReader);
-    rawReader->Select("TPC");
-    ProcessRawEvent(rawStream, nameFileOut);
-    delete rawStream;
-    AliSysInfo::AddStamp(Form("end_event_%d",ievent), ievent,-1,-1);
-    ievent++;
-  } while (rawReader->NextEvent());
-
-  rawReader->~AliRawReader();
-  
-}
-
-
 //_____________________________________________________________________________
 void AliTPCCalibTCF::ProcessRawEventV3( AliRawReader *rawReader, AliTPCRawStreamV3 *rawStream, const char *nameFileOut) {
   //
@@ -384,178 +337,6 @@ void AliTPCCalibTCF::ProcessRawEventV3( AliRawReader *rawReader, AliTPCRawStream
 
 }
 
-
-//_____________________________________________________________________________
-void AliTPCCalibTCF::ProcessRawEvent(AliTPCRawStream *rawStream, const char *nameFileOut) {
-  //
-  // Extracts proper pulses (according the given tresholds) within one event
-  // and accumulates them into one histogram per pad. All histograms are
-  // saved in the file 'nameFileOut'. 
-  // The first bins of the histograms contain the following information:
-  //   bin 1: Number of accumulated pulses
-  //   bin 2;3;4: Sector; Row; Pad; 
-  // 
-
-  rawStream->Reset();
-
-  Int_t sector = rawStream->GetSector();
-  Int_t row    = rawStream->GetRow();
-
-  Int_t prevSec  = 999999;
-  Int_t prevRow  = 999999;
-  Int_t prevPad  = 999999;
-  Int_t prevTime = 999999;
-
-  TFile fileOut(nameFileOut,"UPDATE");
-  fileOut.cd();  
-  
-  TH1I *tempHis = new TH1I("tempHis","tempHis",fSample+fGateWidth,fGateWidth,fSample+fGateWidth);
-  TH1I *tempRMSHis = new TH1I("tempRMSHis","tempRMSHis",2000,0,2000);
-
-  //  printf("raw next: %d\n",rawStream->Next());
-
-  while (rawStream->Next()) {
-    
-    // in case of a new row, get sector and row number
-    if (rawStream->IsNewRow()){ 
-      sector = rawStream->GetSector();
-      row    = rawStream->GetRow();
-      //  if (sector!=prevSec) AliSysInfo::AddStamp(Form("sector_%d_row_%d",sector,row), -1,sector,row);
-    }
-
-    Int_t pad = rawStream->GetPad();
-    Int_t time = rawStream->GetTime();
-    Int_t signal = rawStream->GetSignal();
-
-    //printf("%d: t:%d  sig:%d\n",pad,time,signal);
-    
-    // Reading signal from one Pad 
-    if (!rawStream->IsNewPad()) {
-
-      // this pad always gave a useless signal, probably induced by the supply
-      // voltage of the gate signal (date:2008-Aug-07) 
-      if(sector==51 && row==95 && pad==0) {
-       continue;
-      }
-
-      // only process pulses of pads with correct address
-      if(sector<0 || sector+1 > Int_t(AliTPCROC::Instance()->GetNSector())) {
-       continue;
-      }
-      if(row<0 || row+1 > Int_t(AliTPCROC::Instance()->GetNRows(sector))) {
-       continue;
-      }
-      if(pad<0 || pad+1 > Int_t(AliTPCROC::Instance()->GetNPads(sector,row))) {
-       continue;
-      }
-      
-      if (time>prevTime) {
-        //printf("Wrong time: %d %d\n",rawStream->GetTime(),prevTime);
-       continue;
-      } else {
-       // still the same pad, save signal to temporary histogram
-       if ( (time<=fSample+fGateWidth) && (time>=fGateWidth)) {
-         tempHis->SetBinContent(time,signal);
-       }
-      }   
-   
-    } else { 
-
-      // complete pulse found and stored into tempHis, now calculation 
-      // of the properties and comparison to given thresholds
-
-      Int_t max = (Int_t)tempHis->GetMaximum(FLT_MAX);
-      Int_t maxpos =  tempHis->GetMaximumBin();
-      
-      Int_t first = (Int_t)TMath::Max(maxpos-10, 0);
-      Int_t last  = TMath::Min((Int_t)maxpos+fPulseLength-10, fSample+fGateWidth);
-      
-      // simple baseline substraction ? better one needed ? (pedestalsubstr.?)
-      // and RMS calculation with timebins before the pulse and at the end of
-      // the signal 
-      for (Int_t ipos = 0; ipos<6; ipos++) {
-       // before the pulse
-       tempRMSHis->Fill(tempHis->GetBinContent(first+ipos));
-      }
-      for (Int_t ipos = 0; ipos<20; ipos++) {
-       // at the end to get rid of pulses with serious baseline fluctuations
-       tempRMSHis->Fill(tempHis->GetBinContent(last-ipos)); 
-      }
-
-      Double_t baseline = tempRMSHis->GetMean();
-      Double_t rms = tempRMSHis->GetRMS();
-      tempRMSHis->Reset();
-
-      Double_t lowLim = fLowPulseLim+baseline;
-      Double_t upLim = fUpPulseLim+baseline;
-
-      // get rid of pulses which contain gate signal and/or too much noise
-      // with the help of ratio of integrals
-      Double_t intHist = 0;
-      Double_t intPulse = 0;
-      Double_t binValue;
-      for(Int_t ipos=first; ipos<=last; ipos++) {
-       binValue = TMath::Abs(tempHis->GetBinContent(ipos) - baseline);
-       intHist += binValue;
-       if(ipos>=first+5 && ipos<=first+25) {intPulse += binValue;}
-      }
-        
-      // gets rid of high frequency noise:
-      // calculating ratio (value one to the right of maximum)/(maximum)
-      // has to be >= 0.1; if maximum==0 set ratio to 0.1
-      Double_t maxCorr = max - baseline;
-      Double_t binRatio = 0.1;
-      if(TMath::Abs(maxCorr)>1e-5) {
-       binRatio = (tempHis->GetBinContent(maxpos+1) - baseline) / maxCorr;
-      }
-      
-      // Decision if found pulse is a proper one according to given tresholds
-      if (max>lowLim && max<upLim && !((last-first)<fPulseLength) && rms<fRMSLim && (intHist/intPulse)<fRatioIntLim && (binRatio >= 0.1) ) {
-       char hname[100];
-       snprintf(hname,100,"sec%drow%dpad%d",prevSec,prevRow,prevPad);
-       
-       TH1F *his = (TH1F*)fileOut.Get(hname);
-       
-       if (!his ) { // new entry (pulse in new pad found)
-         
-         his = new TH1F(hname,hname, fPulseLength+4, 0, fPulseLength+4);
-         his->SetBinContent(1,1);        //  pulse counter (1st pulse)
-         his->SetBinContent(2,prevSec);  //  sector
-         his->SetBinContent(3,prevRow);  //  row
-         his->SetBinContent(4,prevPad);  //  pad         
-       
-         for (Int_t ipos=0; ipos<last-first; ipos++){
-           signal = (Int_t)(tempHis->GetBinContent(ipos+first)-baseline);
-           his->SetBinContent(ipos+5,signal);
-         }
-         his->Write(hname);
-         printf("new  %s: Signal %d at bin %d \n", hname, max-(Int_t)baseline, maxpos+fGateWidth);
-       
-       } else {  // adding pulse to existing histogram (pad already found)
-       
-         his->AddBinContent(1,1); //  pulse counter for each pad
-         for (Int_t ipos=0; ipos<last-first; ipos++){
-           signal= (Int_t)(tempHis->GetBinContent(ipos+first)-baseline);
-           his->AddBinContent(ipos+5,signal);
-         }
-         printf("adding ...  %s: Signal %d at bin %d \n", hname, max-(Int_t)baseline, maxpos+fGateWidth);
-         his->Write(hname,kOverwrite);
-       }       
-      }
-      tempHis->Reset();
-    }
-    prevTime = time;
-    prevSec = sector;
-    prevRow = row;
-    prevPad = pad;
-  }
-
-  tempHis->~TH1I();
-  tempRMSHis->~TH1I();
-  printf("Finished to read event ... \n");
-  fileOut.Close();
-}
-
 //____________________________________________________________________________
 void AliTPCCalibTCF::MergeHistoPerSector(const char *nameFileIn) {
   //
@@ -904,144 +685,129 @@ void AliTPCCalibTCF::TestTCFonRawFile(const char *nameRawFile, const char *nameF
   do {
 
     printf("Reading next event ... Nr:%d\n",ievent);
-    AliTPCRawStream *rawStream = new AliTPCRawStream(rawReader);
+    AliTPCRawStreamV3 *rawStream = new AliTPCRawStreamV3(rawReader);
     rawReader->Select("TPC");
     ievent++;
 
-    Int_t sector = rawStream->GetSector();
-    Int_t row    = rawStream->GetRow();
-
-    Int_t prevSec  = 999999;
-    Int_t prevRow  = 999999;
-    Int_t prevPad  = 999999;
-    Int_t prevTime = 999999;
-
-    while (rawStream->Next()) {
-    
-      if (rawStream->IsNewRow()){
-       sector = rawStream->GetSector();
-       row    = rawStream->GetRow();
-      }
-      
-      Int_t pad = rawStream->GetPad();
-      Int_t time = rawStream->GetTime();
-      Int_t signal = rawStream->GetSignal();
-      
-      if (!rawStream->IsNewPad()) { // Reading signal from one Pad 
-
-       // this pad always gave a useless signal, probably induced by the supply
-       // voltage of the gate signal (date:2008-Aug-07)
-       if(sector==51 && row==95 && pad==0) {
-         continue;
-       }
-
-       // only process pulses of pads with correct address
-       if(sector<0 || sector+1 > Int_t(AliTPCROC::Instance()->GetNSector())) {
-         continue;
-       }
-       if(row<0 || row+1 > Int_t(AliTPCROC::Instance()->GetNRows(sector))) {
-         continue;
-       }
-       if(pad<0 || pad+1 > Int_t(AliTPCROC::Instance()->GetNPads(sector,row))) {
-         continue;
-       }
-
-       if (time>prevTime) {
-         //      printf("Wrong time: %d %d\n",rawStream->GetTime(),prevTime);
-         continue;
-       } else {
-         // still the same pad, save signal to temporary histogram
-         if (time<=fSample+fGateWidth && time>fGateWidth) {
-           tempHis->SetBinContent(time,signal);
-         }
-       }      
-      } else { // Decision for saving pulse according to treshold settings
-   
-       Int_t max = (Int_t)tempHis->GetMaximum(FLT_MAX);
-       Int_t maxpos =  tempHis->GetMaximumBin();
-       
-       Int_t first = (Int_t)TMath::Max(maxpos-10, 0);
-       Int_t last  = TMath::Min((Int_t)maxpos+fPulseLength-10, fSample+fGateWidth);
-       
+    while ( rawStream->NextDDL() ){
+      while ( rawStream->NextChannel() ){
+        
+        const Int_t sector = rawStream->GetSector();
+        const Int_t row    = rawStream->GetRow();
+        const Int_t pad = rawStream->GetPad();
+        
+        while ( rawStream->NextBunch() ){
+          UInt_t  startTbin    = rawStream->GetStartTimeBin();
+          Int_t  bunchlength  = rawStream->GetBunchLength();
+          const UShort_t *sig = rawStream->GetSignals();
+          for (Int_t iTimeBin = 0; iTimeBin<bunchlength; iTimeBin++){
+            const Int_t time = startTbin-iTimeBin;
+            Float_t signal=(Float_t)sig[iTimeBin];
+
+            // this pad always gave a useless signal, probably induced by the supply
+            // voltage of the gate signal (date:2008-Aug-07)
+            if(sector==51 && row==95 && pad==0) {
+              continue;
+            }
+
+            // only process pulses of pads with correct address
+            if(sector<0 || sector+1 > Int_t(AliTPCROC::Instance()->GetNSector())) {
+              continue;
+            }
+            if(row<0 || row+1 > Int_t(AliTPCROC::Instance()->GetNRows(sector))) {
+              continue;
+            }
+            if(pad<0 || pad+1 > Int_t(AliTPCROC::Instance()->GetNPads(sector,row))) {
+              continue;
+            }
+
+            // still the same pad, save signal to temporary histogram
+            if (time<=fSample+fGateWidth && time>fGateWidth) {
+              tempHis->SetBinContent(time,signal);
+            }
+          }
+        }
+        
+        Int_t max = (Int_t)tempHis->GetMaximum(FLT_MAX);
+        Int_t maxpos =  tempHis->GetMaximumBin();
 
-       // simple baseline substraction ? better one needed ? (pedestalsubstr.?)
-       // and RMS calculation with timebins before the pulse and at the end of
-       // the signal
-       for (Int_t ipos = 0; ipos<6; ipos++) {
-         // before the pulse
-         tempRMSHis->Fill(tempHis->GetBinContent(first+ipos));
-       }
-       for (Int_t ipos = 0; ipos<20; ipos++) {
-         // at the end to get rid of pulses with serious baseline fluctuations
-         tempRMSHis->Fill(tempHis->GetBinContent(last-ipos)); 
-       }
-       Double_t baseline = tempRMSHis->GetMean();
-       Double_t rms = tempRMSHis->GetRMS();
-       tempRMSHis->Reset();
-       
-       Double_t lowLim = fLowPulseLim+baseline;
-       Double_t upLim = fUpPulseLim+baseline;
-       
-       // get rid of pulses which contain gate signal and/or too much noise
-       // with the help of ratio of integrals
-       Double_t intHist = 0;
-       Double_t intPulse = 0;
-       Double_t binValue;
-       for(Int_t ipos=first; ipos<=last; ipos++) {
-         binValue = TMath::Abs(tempHis->GetBinContent(ipos) - baseline);
-         intHist += binValue;
-         if(ipos>=first+5 && ipos<=first+15) {intPulse += binValue;}
-       }
-       
-       // gets rid of high frequency noise:
-       // calculating ratio (value one to the right of maximum)/(maximum)
-       // has to be >= 0.1; if maximum==0 set ratio to 0.1
-       Double_t maxCorr = max - baseline;
-       Double_t binRatio = 0.1;
-       if(TMath::Abs(maxCorr) > 1e-5 ) {
-         binRatio = (tempHis->GetBinContent(maxpos+1) - baseline) / maxCorr;
-       }
+        Int_t first = (Int_t)TMath::Max(maxpos-10, 0);
+        Int_t last  = TMath::Min((Int_t)maxpos+fPulseLength-10, fSample+fGateWidth);
 
 
-       // Decision if found pulse is a proper one according to given tresholds
-       if (max>lowLim && max<upLim && !((last-first)<fPulseLength) && rms<fRMSLim && intHist/intPulse<fRatioIntLim && (binRatio >= 0.1) ){
-         // note:
-         // assuming that lowLim is higher than the pedestal value!
-         char hname[100];
-         snprintf(hname,100,"sec%drow%dpad%d",prevSec,prevRow,prevPad);
-         TH1F *his = new TH1F(hname,hname, fPulseLength+4, 0, fPulseLength+4);
-         his->SetBinContent(1,1); //  pulse counter (1st pulse)
-         his->SetBinContent(2,prevSec);  //  sector
-          his->SetBinContent(3,prevRow);  //  row
-          his->SetBinContent(4,prevPad);  //  pad
-
-         for (Int_t ipos=0; ipos<last-first; ipos++){
-          signal = (Int_t)(tempHis->GetBinContent(ipos+first)-baseline);
-          his->SetBinContent(ipos+5,signal);
-         }
-           
-         printf("Pulse found in %s: ADC %d at bin %d \n", hname, max, maxpos+fGateWidth);
+        // simple baseline substraction ? better one needed ? (pedestalsubstr.?)
+        // and RMS calculation with timebins before the pulse and at the end of
+        // the signal
+        for (Int_t ipos = 0; ipos<6; ipos++) {
+          // before the pulse
+          tempRMSHis->Fill(tempHis->GetBinContent(first+ipos));
+        }
+        for (Int_t ipos = 0; ipos<20; ipos++) {
+          // at the end to get rid of pulses with serious baseline fluctuations
+          tempRMSHis->Fill(tempHis->GetBinContent(last-ipos));
+        }
+        Double_t baseline = tempRMSHis->GetMean();
+        Double_t rms = tempRMSHis->GetRMS();
+        tempRMSHis->Reset();
+
+        Double_t lowLim = fLowPulseLim+baseline;
+        Double_t upLim = fUpPulseLim+baseline;
+
+        // get rid of pulses which contain gate signal and/or too much noise
+        // with the help of ratio of integrals
+        Double_t intHist = 0;
+        Double_t intPulse = 0;
+        Double_t binValue;
+        for(Int_t ipos=first; ipos<=last; ipos++) {
+          binValue = TMath::Abs(tempHis->GetBinContent(ipos) - baseline);
+          intHist += binValue;
+          if(ipos>=first+5 && ipos<=first+15) {intPulse += binValue;}
+        }
 
-         // find the correct TCF parameter according to the his infos 
-         // (first 4 bins)
-         Int_t nPulse = FindCorTCFparam(his, nameFileTCF, coefZ, coefP);
+        // gets rid of high frequency noise:
+        // calculating ratio (value one to the right of maximum)/(maximum)
+        // has to be >= 0.1; if maximum==0 set ratio to 0.1
+        Double_t maxCorr = max - baseline;
+        Double_t binRatio = 0.1;
+        if(TMath::Abs(maxCorr) > 1e-5 ) {
+          binRatio = (tempHis->GetBinContent(maxpos+1) - baseline) / maxCorr;
+        }
 
-         if (nPulse>=minNumPulse) {  // Parameters found - doing the TCF quality analysis
+        // Decision if found pulse is a proper one according to given tresholds
+        if (max>lowLim && max<upLim && !((last-first)<fPulseLength) && rms<fRMSLim && intHist/intPulse<fRatioIntLim && (binRatio >= 0.1) ){
+          // note:
+          // assuming that lowLim is higher than the pedestal value!
+          char hname[100];
+          snprintf(hname,100,"sec%drow%dpad%d",sector,row,pad);
+          TH1F *his = new TH1F(hname,hname, fPulseLength+4, 0, fPulseLength+4);
+          his->SetBinContent(1,1); //  pulse counter (1st pulse)
+          his->SetBinContent(2,sector);  //  sector
+          his->SetBinContent(3,row);  //  row
+          his->SetBinContent(4,pad);  //  pad
+
+          for (Int_t ipos=0; ipos<last-first; ipos++){
+            const Double_t signal = tempHis->GetBinContent(ipos+first)-baseline;
+            his->SetBinContent(ipos+5,signal);
+          }
+
+          printf("Pulse found in %s: ADC %d at bin %d \n", hname, max, maxpos+fGateWidth);
+
+          // find the correct TCF parameter according to the his infos
+          // (first 4 bins)
+          Int_t nPulse = FindCorTCFparam(his, nameFileTCF, coefZ, coefP);
+
+          if (nPulse>=minNumPulse) {  // Parameters found - doing the TCF quality analysis
            Double_t *quVal = GetQualityOfTCF(his,coefZ,coefP, plotFlag);
-           qualityTuple->Fill(sector,row,pad,nPulse,quVal[0],quVal[1],quVal[2],quVal[3],quVal[4],quVal[5]);
-           quVal->~Double_t();
-         }
-         his->~TH1F();
-       }
-       tempHis->Reset();
+            qualityTuple->Fill(sector,row,pad,nPulse,quVal[0],quVal[1],quVal[2],quVal[3],quVal[4],quVal[5]);
+            quVal->~Double_t();
+          }
+          his->~TH1F();
+        }
+        tempHis->Reset();
       }
-      prevTime = time;
-      prevSec = sector;
-      prevRow = row;
-      prevPad = pad;
-      
-    }   
-
+    }
+  
+    
     printf("Finished to read event ... \n");   
 
     delete rawStream;
@@ -1519,7 +1285,7 @@ Int_t AliTPCCalibTCF::Equalization(TNtuple *dataTuple, Double_t *coefZ, Double_t
   
   // find maximum amplitude and position of original pulse and pulse after 
   // the first two stages of the TCF 
-  Int_t s0pos = 0, s2pos = 0; 
+  Int_t s0pos = 0; 
   Double_t s0ampl = s0[0], s2ampl = s2[0]; // start values
   for(Int_t ipos = 1; ipos < kPulseLength; ipos++){
     if (s0[ipos] > s0ampl){
@@ -1528,7 +1294,6 @@ Int_t AliTPCCalibTCF::Equalization(TNtuple *dataTuple, Double_t *coefZ, Double_t
     }
     if (s2[ipos] > s2ampl){
       s2ampl = s2[ipos];
-      s2pos = ipos;
     }    
   }
   // calculation of 3rd set ...
similarity index 94%
rename from TPC/AliTPCCalibTCF.h
rename to TPC/Attic/AliTPCCalibTCF.h
index 3b48c50..7853cd6 100644 (file)
@@ -17,7 +17,6 @@
 class TObject;
 class TGraph;
 class AliRawReader;
-class AliTPCRawStream;
 class AliTPCRawStreamV3;
 class TNtuple;
 class TH1F;
@@ -38,9 +37,6 @@ public:
   void ProcessRawFileV3(const char *nameRawFile, const char *nameFileOut);
   void ProcessRawEventV3(AliRawReader *rawReader,AliTPCRawStreamV3 *rawStream, const char *nameFileOut);
 
-  void ProcessRawFile(const char *nameRawFile, const char *nameFileOut, bool bUseHLTOUT=false);
-  void ProcessRawEvent(AliTPCRawStream *rawStream, const char *nameFileOut);
-
   void MergeHistoPerSector(const char *nameFileIn);
 
   void AnalyzeRootFile(const char *nameFileIn, Int_t minNumPulse=1, Int_t histStart=1, Int_t histEnd=1000000);
similarity index 100%
rename from TPC/AliDigits.cxx
rename to TPC/Base/AliDigits.cxx
similarity index 100%
rename from TPC/AliDigits.h
rename to TPC/Base/AliDigits.h
similarity index 100%
rename from TPC/AliSegmentID.h
rename to TPC/Base/AliSegmentID.h
similarity index 93%
rename from TPC/AliSimDigits.cxx
rename to TPC/Base/AliSimDigits.cxx
index 0ebe639..b51c304 100644 (file)
@@ -33,7 +33,6 @@
 #include "TArrayI.h"
 #include "AliDigits.h"
 #include "AliSimDigits.h"
-#include "AliTPCdigit.h"
 #include <TClonesArray.h>
 
 
@@ -396,34 +395,6 @@ AliH2F *  AliSimDigits::DrawTracks( const char *option,Int_t level,
   return his;  
 }
 
-TClonesArray *  AliSimDigits::GenerTPCClonesArray(TClonesArray * arr)
-{
-  //
-  //generate TClonnesArray of digits
-  //
-  TClonesArray * digits;
-  if (arr==0)  digits=new TClonesArray("AliTPCdigit",300);
-  else digits = arr; 
-  Int_t index = digits->GetEntriesFast();
-  for (Int_t row =0; row<fNrows; row++)
-    for (Int_t col =0; col<fNcols; col++){
-      Int_t amp = GetDigit(row,col);
-      if (amp>GetThreshold()){
-       AliTPCdigit dig;
-       dig.fPad = col;
-       dig.fTime = row;
-       dig.fSignal= amp;
-       dig.fPadRow =fSegmentID;
-       dig.fSector =fSegmentID;
-       dig.GetTracks()[0]= GetTrackID(row,col,0);
-       dig.GetTracks()[1]= GetTrackID(row,col,1);
-       dig.GetTracks()[2]= GetTrackID(row,col,2);
-       TClonesArray &ldigits = *digits;
-       new(ldigits[index++]) AliTPCdigit(dig);
-      }
-    }    
-  return digits;
-}
 void AliSimDigits::GlitchFilter(){
   //
   //  glitch filter, optionally
similarity index 97%
rename from TPC/AliSimDigits.h
rename to TPC/Base/AliSimDigits.h
index b8deebb..1244b30 100644 (file)
@@ -32,7 +32,6 @@ public:
   virtual void CompresTrackBuffer(Int_t bufType); //compres buffer according buffertype algorithm 
   AliH2F *  DrawTracks( const char *option=0,Int_t level=0, 
                  Float_t x1=-1, Float_t x2=-1, Float_t y1=-1, Float_t y2=-1); //draw tracks
-  TClonesArray * GenerTPCClonesArray(TClonesArray * arr); //generate TClonnesArray of digits
   //only for demonstration purpose
   void GlitchFilter();
 private:
similarity index 100%
rename from TPC/AliTPCCalPad.h
rename to TPC/Base/AliTPCCalPad.h
similarity index 99%
rename from TPC/AliTPCCalROC.h
rename to TPC/Base/AliTPCCalROC.h
index 7752f6d..43c59e1 100644 (file)
@@ -3,7 +3,7 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* $Id: AliTPCCalROC.h,v */
+/* $Id: AliTPCCalROC.h -1   */
 
 //////////////////////////////////////////////////
 //                                              //
similarity index 99%
rename from TPC/AliTPCCalibCE.cxx
rename to TPC/Base/AliTPCCalibCE.cxx
index 492bd17..eb5578b 100644 (file)
@@ -289,7 +289,6 @@ END_HTML */
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
 #include "AliRawEventHeaderBase.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCCalROC.h"
 #include "AliTPCCalPad.h"
 #include "AliTPCROC.h"
similarity index 99%
rename from TPC/AliTPCCalibCE.h
rename to TPC/Base/AliTPCCalibCE.h
index 3ec3a2c..5f0b347 100644 (file)
@@ -23,7 +23,6 @@ class AliTPCROC;
 class AliTPCCalROC;
 class AliTPCParam;
 class AliRawReader;
-class AliTPCRawStream;
 class TGraph;
 class TMap;
 class TCollection;
similarity index 98%
rename from TPC/AliTPCCalibPedestal.cxx
rename to TPC/Base/AliTPCCalibPedestal.cxx
index c47c892..690f7eb 100644 (file)
@@ -31,7 +31,6 @@
 #include "AliRawReader.h"
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCCalROC.h"
 #include "AliTPCROC.h"
 #include "AliMathBase.h"
 //
 // Bool_t ProcessEvent(AliRawReader *rawReader);
 //  - process AliRawReader event
-//   - use AliTPCRawStream to loop over data and call ProcessEvent(AliTPCRawStream *rawStream)
+//   - use AliTPCRawStreamV3 to loop over data and call ProcessEvent(AliTPCRawStreamV3 *rawStream)
 //
-// Bool_t ProcessEvent(AliTPCRawStream *rawStream);
-//   - process event from AliTPCRawStream
+// Bool_t ProcessEvent(AliTPCRawStreamV3 *rawStream);
+//   - process event from AliTPCRawStreamV3
 //   - call Update function for signal filling
 //
 // Int_t Update(const Int_t isector, const Int_t iRow, const Int_t
@@ -522,7 +521,7 @@ AliTPCCalROC* AliTPCCalibPedestal::GetCalRocRMS(Int_t sector, Bool_t force)
 void AliTPCCalibPedestal::Merge(AliTPCCalibPedestal * const ped)
 {
   //
-  //  Merge reference histograms of sig to the current AliTPCCalibSignal
+  //  Merge reference histograms of sig to the current AliTPCCalibPedestal
   //
   MergeBase(ped);
   // merge histograms
similarity index 99%
rename from TPC/AliTPCCalibPedestal.h
rename to TPC/Base/AliTPCCalibPedestal.h
index 1bb45d3..a78c373 100644 (file)
@@ -17,7 +17,6 @@ class TH2F;
 class TTreeSRedirector;
 class AliTPCROC;
 class AliTPCCalROC;
-class AliTPCRawStream;
 class AliRawReader;
 class TMap;
 
similarity index 99%
rename from TPC/AliTPCCalibPulser.cxx
rename to TPC/Base/AliTPCCalibPulser.cxx
index 099b980..4d91349 100644 (file)
 
  Bool_t ProcessEvent(AliRawReader *rawReader);
    - process AliRawReader event
-   - use AliTPCRawStream to loop over data and call ProcessEvent(AliTPCRawStream *rawStream)
+   - use AliTPCRawStreamV3 to loop over data and call ProcessEvent(AliTPCRawStreamV3 *rawStream)
 
- Bool_t ProcessEvent(AliTPCRawStream *rawStream);
-   - process event from AliTPCRawStream
+ Bool_t ProcessEvent(AliTPCRawStreamV3 *rawStream);
+   - process event from AliTPCRawStreamV3
    - call Update function for signal filling
 
  Int_t Update(const Int_t isector, const Int_t iRow, const Int_t
 #include "AliRawReader.h"
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCCalROC.h"
 #include "AliTPCCalPad.h"
 #include "AliTPCROC.h"
@@ -532,7 +531,6 @@ void AliTPCCalibPulser::FindPedestal(Float_t part)
   if ( noPedestal ) {
     const Int_t kPedMax = 100;  //maximum pedestal value
     Float_t  max    =  0;
-    Float_t  maxPos =  0;
     Int_t    median =  -1;
     Int_t    count0 =  0;
     Int_t    count1 =  0;
@@ -547,7 +545,6 @@ void AliTPCCalibPulser::FindPedestal(Float_t part)
       if (padSignal<=0) continue;
       if (padSignal>max && i>10) {
         max = padSignal;
-        maxPos = i;
       }
       if (padSignal>kPedMax-1) continue;
       histo[Int_t(padSignal+0.5)]++;
similarity index 99%
rename from TPC/AliTPCCalibPulser.h
rename to TPC/Base/AliTPCCalibPulser.h
index a88e579..a1ca3bc 100644 (file)
@@ -20,7 +20,6 @@ class AliTPCROC;
 class AliTPCCalROC;
 class AliTPCParam;
 class AliRawReader;
-class AliTPCRawStream;
 class TMap;
 
 struct eventHeaderStruct;
similarity index 82%
rename from TPC/AliTPCCalibRawBase.cxx
rename to TPC/Base/AliTPCCalibRawBase.cxx
index 3e2ddb4..fe15cb8 100644 (file)
@@ -35,7 +35,6 @@
 #include "AliAltroRawStream.h"
 #include "AliTPCROC.h"
 #include "AliTPCRawStreamV3.h"
-#include "AliTPCRawStream.h"
 #include "AliLog.h"
 #include "TTreeStream.h"
 #include "event.h"
@@ -194,60 +193,6 @@ Bool_t AliTPCCalibRawBase::ProcessEvent(AliRawReader * const rawReader)
   return res;
 }
 //_____________________________________________________________________
-Bool_t AliTPCCalibRawBase::ProcessEvent(AliTPCRawStream * const rawStream)
-{
-  //
-  // Event Processing loop - AliTPCRawStream
-  //
-
-  ResetEvent();
-
-  Bool_t withInput = kFALSE;
-  fAltroL1Phase=0;
-  fAltroL1PhaseTB=0;
-  fAltroRawStream = static_cast<AliAltroRawStream*>(rawStream);
-  while (rawStream->Next()) {
-    if (fUseL1Phase){
-      fAltroL1Phase  = fAltroRawStream->GetL1Phase();
-      fAltroL1PhaseTB = (fAltroL1Phase*1e09/100.);
-    }
-    fPrevRCUId=fCurrRCUId;
-    fCurrRCUId=rawStream->GetRCUId();
-    fPrevDDLNum=fCurrDDLNum;
-    fCurrDDLNum=rawStream->GetDDLNumber();
-    Int_t isector  = rawStream->GetSector();                       //  current sector
-    Int_t iRow     = rawStream->GetRow();                          //  current row
-    Int_t iPad     = rawStream->GetPad();                          //  current pad
-    Int_t iTimeBin = rawStream->GetTime();                         //  current time bin
-    Float_t signal = rawStream->GetSignal();                       //  current ADC signal
-    
-    Update(isector,iRow,iPad,iTimeBin,signal);
-    withInput = kTRUE;
-  }
-  fAltroRawStream=0x0;
-  if (withInput){
-    EndEvent();
-  }
-  return withInput;
-}
-//_____________________________________________________________________
-Bool_t AliTPCCalibRawBase::ProcessEventOld(AliRawReader * const rawReader)
-{
-  //
-  //  Event processing loop - AliRawReader
-  //
-  AliRawEventHeaderBase* eventHeader = (AliRawEventHeaderBase*)rawReader->GetEventHeader();
-  if (eventHeader){
-    fTimeStamp   = eventHeader->Get("Timestamp");
-    fRunNumber = eventHeader->Get("RunNb");
-    fEventType = eventHeader->Get("Type");
-  }
-
-  AliTPCRawStream rawStream(rawReader, (AliAltroMapping**)fMapping);
-  rawReader->Select("TPC");
-  return ProcessEvent(&rawStream);
-}
-//_____________________________________________________________________
 Bool_t AliTPCCalibRawBase::ProcessEvent(eventHeaderStruct * const event)
 {
   //
similarity index 96%
rename from TPC/AliTPCCalibRawBase.h
rename to TPC/Base/AliTPCCalibRawBase.h
index 1cae2c2..0fec89b 100644 (file)
@@ -16,7 +16,6 @@ class AliAltroRawStream;
 class AliRawReader;
 class AliTPCAltroMapping;
 class AliTPCRawStreamV3;
-class AliTPCRawStream;
 class AliTPCROC;
 class TTreeSRedirector;
 class TCollection;
@@ -38,10 +37,6 @@ public:
   Bool_t ProcessEvent(AliRawReader        * const rawReader);
   Bool_t ProcessEvent(eventHeaderStruct   * const event);
 
-  //For using the old decoder use the following functions
-  Bool_t ProcessEvent(AliTPCRawStream * const rawStream);
-  Bool_t ProcessEventOld(AliRawReader * const rawReader);
-  
   virtual Int_t Update(const Int_t /*isector*/, const Int_t /*iRow*/, const Int_t /*iPad*/,
                        const Int_t /*iTimeBin*/, const Float_t /*signal*/) { return 0; }
   virtual void UpdateDDL() {return;}
similarity index 100%
rename from TPC/AliTPCExB.cxx
rename to TPC/Base/AliTPCExB.cxx
similarity index 100%
rename from TPC/AliTPCExB.h
rename to TPC/Base/AliTPCExB.h
similarity index 100%
rename from TPC/AliTPCLoader.h
rename to TPC/Base/AliTPCLoader.h
similarity index 100%
rename from TPC/AliTPCPRF2D.cxx
rename to TPC/Base/AliTPCPRF2D.cxx
similarity index 100%
rename from TPC/AliTPCPRF2D.h
rename to TPC/Base/AliTPCPRF2D.h
similarity index 100%
rename from TPC/AliTPCParam.cxx
rename to TPC/Base/AliTPCParam.cxx
similarity index 100%
rename from TPC/AliTPCParam.h
rename to TPC/Base/AliTPCParam.h
similarity index 100%
rename from TPC/AliTPCParamSR.h
rename to TPC/Base/AliTPCParamSR.h
similarity index 100%
rename from TPC/AliTPCRF1D.cxx
rename to TPC/Base/AliTPCRF1D.cxx
similarity index 100%
rename from TPC/AliTPCRF1D.h
rename to TPC/Base/AliTPCRF1D.h
similarity index 100%
rename from TPC/AliTPCROC.cxx
rename to TPC/Base/AliTPCROC.cxx
similarity index 100%
rename from TPC/AliTPCROC.h
rename to TPC/Base/AliTPCROC.h
similarity index 100%
rename from TPC/AliTPCTempMap.h
rename to TPC/Base/AliTPCTempMap.h
similarity index 99%
rename from TPC/AliTPCTransform.cxx
rename to TPC/Base/AliTPCTransform.cxx
index 69618ad..8ba3d56 100755 (executable)
@@ -33,8 +33,8 @@
 //                   - by default 
 //                           
 //    Usage:
-//          AliTPCclustererMI::AddCluster
-//          AliTPCtrackerMI::Transform
+//          AliTPCclusterer::AddCluster
+//          AliTPCtracker::Transform
 //    
 //-------------------------------------------------------
 
similarity index 99%
rename from TPC/AliTPCcalibDB.cxx
rename to TPC/Base/AliTPCcalibDB.cxx
index 6408eb0..4ac3307 100644 (file)
 // Calibration data:
 // 0.)  Altro mapping
 //          Simulation      - not yet 
-//          Reconstruction  - AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
+//          Reconstruction  - AliTPCclusterer::Digits2Clusters(AliRawReader* rawReader)
 //
 // 1.)  pad by pad calibration -  AliTPCCalPad
 //      
 //      a.) fPadGainFactor
 //          Simulation: AliTPCDigitizer::ExecFast - Multiply by gain
-//          Reconstruction : AliTPCclustererMI::Digits2Clusters - Divide by gain  
+//          Reconstruction : AliTPCclusterer::Digits2Clusters - Divide by gain  
 //
 //      b.) fPadNoise -
 //          Simulation:        AliTPCDigitizer::ExecFast
-//          Reconstruction:    AliTPCclustererMI::FindClusters(AliTPCCalROC * noiseROC)
+//          Reconstruction:    AliTPCclusterer::FindClusters(AliTPCCalROC * noiseROC)
 //                             Noise depending cut on clusters charge (n sigma)
 //      c.) fPedestal:
 //          Simulation:     Not used yet - To be impleneted - Rounding to the nearest integer
-//          Reconstruction: Used in AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader) 
+//          Reconstruction: Used in AliTPCclusterer::Digits2Clusters(AliRawReader* rawReader) 
 //                          if data taken without zero suppression  
 //                          Currently switch in  fRecoParam->GetCalcPedestal();
 //      
@@ -48,7 +48,7 @@
 //          Simulation:      applied in the AliTPC::MakeSector - adding offset
 //          Reconstruction:  AliTPCTransform::Transform() - remove offset
 //                           AliTPCTransform::Transform() - to be called
-//                           in AliTPCtrackerMI::Transform()      
+//                           in AliTPCtracker::Transform()      
 //
 // 
 // 2.)  Space points transformation:
@@ -60,8 +60,8 @@
 //                 ExB effect    
 //          Simulation     - Not used directly (the effects are applied one by one (see AliTPC::MakeSector)
 //          Reconstruction - 
-//                           AliTPCclustererMI::AddCluster
-//                           AliTPCtrackerMI::Transform
+//                           AliTPCclusterer::AddCluster
+//                           AliTPCtracker::Transform
 //      b.) ExB effect calibration - 
 //             classes (base class AliTPCExB, implementation- AliTPCExBExact.h  AliTPCExBFirst.h)
 //             a.a) Simulation:   applied in the AliTPC::MakeSector - 
similarity index 100%
rename from TPC/AliTPCcalibDB.h
rename to TPC/Base/AliTPCcalibDB.h
similarity index 99%
rename from TPC/AliTPCcalibDButil.cxx
rename to TPC/Base/AliTPCcalibDButil.cxx
index 00377a6..b3a0116 100644 (file)
@@ -2225,7 +2225,7 @@ TGraph* AliTPCcalibDButil::FilterGraphMedianAbs(TGraph * graph, Float_t cut,Doub
   Int_t kMinPoints=2;
   Int_t npoints0 = graph->GetN();
   Int_t npoints=0;
-  Float_t  rmsY=0;
+//   Float_t  rmsY=0;
   //
   //
   if (npoints0<kMinPoints) return 0;
@@ -2243,7 +2243,7 @@ TGraph* AliTPCcalibDButil::FilterGraphMedianAbs(TGraph * graph, Float_t cut,Doub
     }
     if (npoints<=1) break;
     medianY  =TMath::Median(npoints,outy);
-    rmsY   =TMath::RMS(npoints,outy);
+//     rmsY   =TMath::RMS(npoints,outy);
   }
   TGraph *graphOut=0;
   if (npoints>1) graphOut= new TGraph(npoints,outx,outy); 
similarity index 95%
rename from TPC/AliTPCdataQA.cxx
rename to TPC/Base/AliTPCdataQA.cxx
index f10ccbf..bc05c2b 100644 (file)
@@ -59,7 +59,7 @@
 
   The code has been heavily modified so that now the RAW data is
   "expanded" for each sector and stored in a big signal array. Then a
-  simple version of the code in AliTPCclustererMI is used to identify
+  simple version of the code in AliTPCclusterer is used to identify
   the local maxima and these are then used for QA. This gives a better
   estimate of the charge (both max and total) and also limits the
   effect of noise.
 #include "AliRawReader.h"
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
-#include "AliTPCRawStream.h"
 #include "AliTPCRawStreamV3.h"
 #include "AliTPCCalROC.h"
 #include "AliTPCROC.h"
@@ -566,69 +565,6 @@ Bool_t AliTPCdataQA::ProcessEvent(AliRawReader *const rawReader)
 }
 
 //_____________________________________________________________________
-Bool_t AliTPCdataQA::ProcessEvent(AliTPCRawStream *const rawStream)
-{
-  //
-  // Event Processing loop - AliTPCRawStream
-  //
-
-  Bool_t withInput = kFALSE;
-  Int_t nSignals = 0;
-  Int_t lastSector = -1;
-
-  while (rawStream->Next()) {
-
-    Int_t iSector  = rawStream->GetSector();      //  current ROC
-    Int_t iRow     = rawStream->GetRow();         //  current row
-    Int_t iPad     = rawStream->GetPad();         //  current pad
-    Int_t iTimeBin = rawStream->GetTime();        //  current time bin
-    Float_t signal = rawStream->GetSignal();      //  current ADC signal
-    
-    // Call local maxima finder if the data is in a new sector
-    if(iSector != lastSector) {
-      
-      if(nSignals>0)
-        FindLocalMaxima(lastSector);
-      
-      CleanArrays();
-      lastSector = iSector;
-      nSignals = 0;
-    }
-    
-    // Sometimes iRow==-1 if there is problems to read the data
-    if(iRow>=0) {
-      nSignals += Update(iSector,iRow,iPad,iTimeBin,signal);
-      withInput = kTRUE;
-    }
-  }
-
-  if (lastSector>=0&&nSignals>0)
-    FindLocalMaxima(lastSector);
-  
-  return withInput;
-}
-
-
-//_____________________________________________________________________
-Bool_t AliTPCdataQA::ProcessEventOld(AliRawReader *const rawReader)
-{
-  //
-  //  Event processing loop - AliRawReader
-  //
-
-  // if fMapping is NULL the rawstream will crate its own mapping
-  AliTPCRawStream rawStream(rawReader, (AliAltroMapping**)fMapping);
-  rawReader->Select("TPC");
-  Bool_t res =  ProcessEvent(&rawStream);
-
-  if(res)
-    fEventCounter++; // only increment event counter if there is TPC data
-                     // otherwise Analyse (called in QA) fails
-  return res;
-}
-
-
-//_____________________________________________________________________
 Bool_t AliTPCdataQA::ProcessEvent(eventHeaderStruct *const event)
 {
   //
similarity index 98%
rename from TPC/AliTPCdataQA.h
rename to TPC/Base/AliTPCdataQA.h
index 7b35a24..855ff6d 100644 (file)
@@ -16,7 +16,6 @@ class TH2F;
 class TTreeSRedirector;
 class AliTPCROC;
 class AliTPCCalROC;
-class AliTPCRawStream;
 class AliTPCRawStreamV3;
 class AliRawReader;
 class AliTPCAltroMapping;
@@ -37,10 +36,8 @@ public:
  void MakeTree(const char *fname="QApad.root") const;
 
   //
-  Bool_t ProcessEvent(AliTPCRawStream *const rawStream);
   Bool_t ProcessEvent(AliTPCRawStreamV3 *const rawStreamV3);
   Bool_t ProcessEvent(AliRawReader    *const rawReader);
-  Bool_t ProcessEventOld(AliRawReader    *const rawReader);
   Bool_t ProcessEvent(eventHeaderStruct   *const event);
 
   void   Analyse();
similarity index 100%
rename from TPC/AliTPCmapper.h
rename to TPC/Base/AliTPCmapper.h
similarity index 100%
rename from TPC/AliTransform.h
rename to TPC/Base/AliTransform.h
index 2aa1873..09463b6 100644 (file)
 #--------------------------------------------------------------------------------#
 
 set ( SRCS   
-    AliSegmentID.cxx 
-    AliSegmentArray.cxx 
-    AliDigits.cxx 
-    AliH2F.cxx 
-    AliTPCLoader.cxx 
-    AliTPCPRF2D.cxx 
-    AliTPCRF1D.cxx 
-    AliDetectorParam.cxx 
-    AliTPCParam.cxx 
-    AliTPCParamSR.cxx 
-    AliTPCParamCR.cxx 
-    AliTPCdigit.cxx 
-    AliSimDigits.cxx 
-    AliDigitsArray.cxx 
-    AliTPCDigitsArray.cxx 
-    AliTPCmapper.cxx 
-    AliTPCROC.cxx 
-    AliTPCCalROC.cxx 
-    AliTPCCalPad.cxx 
-    AliTPCCalDet.cxx 
-    AliTPCcalibDB.cxx 
-    AliTPCcalibDButil.cxx 
-    AliTPCAltroMapping.cxx 
-    AliTPCRawStream.cxx 
-    AliTPCRawStreamV3.cxx 
-    AliTPCLaserTracks.cxx 
-    AliTPCSensorTemp.cxx 
-    AliTPCSensorTempArray.cxx 
-    AliTPCCalibRawBase.cxx 
-    AliTPCCalibPedestal.cxx 
-    AliTPCCalibPulser.cxx 
-    AliTPCCalibCE.cxx 
-    AliTPCCalibRaw.cxx 
-    AliTPCPreprocessor.cxx 
-    AliTPCPreprocessorOnline.cxx 
-    AliTPCCalibViewer.cxx 
-    AliTPCCalibViewerGUI.cxx 
-    AliTPCCalibViewerGUItime.cxx 
-    AliTPCCalibViewerGUIAlarms.cxx 
-    AliTPCCalibQAChecker.cxx 
-    AliTPCGenDBTemp.cxx 
-    AliTPCGenDBConf.cxx 
-    AliTPCExB.cxx 
-    AliTPCExBExact.cxx 
-    AliTPCExBFirst.cxx 
-    AliTPCTempMap.cxx 
-    AliTPCCalibVdrift.cxx 
-    AliTPCCalibTCF.cxx 
-    AliTPCAltroEmulator.cxx 
-    AliTPCeventInfo.cxx 
-    AliTransform.cxx 
-    AliTPCTransform.cxx 
-    AliTPCAlign.cxx 
-    AliTPCGoofieValues.cxx 
-    AliTPCdataQA.cxx 
-    AliTPCQAChecker.cxx 
-    AliTPCConfigDA.cxx 
-    AliTPCConfigParser.cxx 
-    AliTPCkalmanTime.cxx 
-    AliESDcosmic.cxx 
-    AliTPCPointCorrection.cxx 
-    AliTPCTransformation.cxx 
-    AliTPCkalmanFit.cxx 
-    AliTPCLaserTrack.cxx 
-    AliTPCcalibBase.cxx 
-    AliTPCCorrection.cxx 
-    AliTPCInverseCorrection.cxx 
-    AliTPCComposedCorrection.cxx 
-    AliTPCExBBShape.cxx 
-    AliTPCExBTwist.cxx 
-    AliTPCGGVoltError.cxx 
-    AliTPCBoundaryVoltError.cxx 
-    AliTPCCalibGlobalMisalignment.cxx 
-    AliTPCFCVoltError3D.cxx 
-    AliTPCROCVoltError3D.cxx 
-    AliTPCSpaceCharge.cxx 
-    AliTPCSpaceCharge3D.cxx 
-    AliXRDPROOFtoolkit.cxx 
-    AliTPCExBEffective.cxx 
-    AliTPCExBEffectiveSector.cxx 
-    AliTPCCorrectionDrift.cxx 
+    Base/AliSegmentID.cxx 
+    Base/AliSegmentArray.cxx 
+    Base/AliDigits.cxx 
+    AliH2F.cxx   # REMOVE
+    Base/AliTPCLoader.cxx 
+    Base/AliTPCPRF2D.cxx 
+    Base/AliTPCRF1D.cxx 
+    Base/AliDetectorParam.cxx 
+    Base/AliTPCParam.cxx 
+    Base/AliTPCParamSR.cxx 
+    Base/AliSimDigits.cxx 
+    Base/AliDigitsArray.cxx 
+    Base/AliTPCDigitsArray.cxx 
+    Base/AliTPCmapper.cxx 
+    Base/AliTPCROC.cxx 
+    Base/AliTPCCalROC.cxx 
+    Base/AliTPCCalPad.cxx 
+    Base/AliTPCcalibDB.cxx 
+    Base/AliTPCcalibDButil.cxx 
+    Base/AliTPCAltroMapping.cxx 
+    Base/AliTPCRawStreamV3.cxx 
+    Base/AliTPCSensorTemp.cxx 
+    Base/AliTPCSensorTempArray.cxx 
+    Base/AliTPCCalibRawBase.cxx 
+    Base/AliTPCCalibPedestal.cxx 
+    Base/AliTPCCalibPulser.cxx 
+    Base/AliTPCCalibCE.cxx 
+    Base/AliTPCCalibRaw.cxx 
+    Base/AliTPCPreprocessor.cxx 
+    AliTPCPreprocessorOnline.cxx # to RENAME
+    AliTPCCalibViewer.cxx        # UTIL
+    AliTPCCalibViewerGUI.cxx     # UTIL
+    AliTPCCalibViewerGUItime.cxx # UTIL
+    Base/AliTPCExB.cxx 
+    Base/AliTPCExBExact.cxx 
+    Base/AliTPCExBFirst.cxx 
+    Base/AliTPCTempMap.cxx 
+    Base/AliTPCCalibVdrift.cxx 
+    Base/AliTransform.cxx 
+    Base/AliTPCTransform.cxx 
+    Base/AliTPCdataQA.cxx 
+    Base/AliTPCQAChecker.cxx 
+    Base/AliTPCConfigDA.cxx 
+    Base/AliTPCConfigParser.cxx
+       Base/AliTPCPointCorrection.cxx
+    Base/AliTPCLaserTrack.cxx 
+    Base/AliTPCcalibBase.cxx 
+    Base/AliTPCCorrection.cxx 
+    Base/AliTPCInverseCorrection.cxx 
+    Base/AliTPCComposedCorrection.cxx 
+    Base/AliTPCExBBShape.cxx 
+    Base/AliTPCExBTwist.cxx 
+    Base/AliTPCGGVoltError.cxx 
+    Base/AliTPCBoundaryVoltError.cxx 
+    Base/AliTPCCalibGlobalMisalignment.cxx 
+    Base/AliTPCFCVoltError3D.cxx 
+    Base/AliTPCROCVoltError3D.cxx 
+    Base/AliTPCSpaceCharge.cxx 
+    Base/AliTPCSpaceCharge3D.cxx 
+    Base/AliXRDPROOFtoolkit.cxx 
+    Base/AliTPCExBEffective.cxx 
+    Base/AliTPCExBEffectiveSector.cxx 
+    Base/AliTPCCorrectionDrift.cxx 
     )
     
 string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
 
 set ( DHDR  TPCbaseLinkDef.h)
 
-set ( EINCLUDE  RAW STEER/STEER STEER/CDB STEER/ESD STEER/STEERBase)
+set ( EINCLUDE  RAW TPC/Base STEER/STEER STEER/CDB STEER/ESD STEER/STEERBase)
 
-set (EXPORT AliSegmentID.h AliTPCCalibViewerGUI.h AliTPCRawStreamV3.h)
+set (EXPORT Base/AliSegmentID.h AliTPCCalibViewerGUI.h Base/AliTPCRawStreamV3.h)
 
 install ( DIRECTORY mapping
           DESTINATION TPC
index 0864ea2..3a1fb0c 100644 (file)
@@ -56,7 +56,7 @@ set ( SRCS
 
 string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
 
-set ( EINCLUDE RAW TPC TPC/Rec ANALYSIS STAT STEER/STEER STEER/CDB STEER/STEERBase )
+set ( EINCLUDE RAW TPC TPC/Base TPC/Rec ANALYSIS STAT STEER/STEER STEER/CDB STEER/STEERBase )
 
 set ( DHDR  TPCcalibLinkDef.h)
 
index fb2bd92..82b83c2 100644 (file)
@@ -35,11 +35,11 @@ set ( SRCS
     Rec/AliTPCClustersRow.cxx 
     Rec/AliClustersArray.cxx 
     Rec/AliTPCClustersArray.cxx 
-    Rec/AliTPCclustererMI.cxx 
+    Rec/AliTPCclusterer.cxx 
     Rec/AliTPCtrack.cxx 
     Rec/AliTPCpolyTrack.cxx 
     Rec/AliTPCseed.cxx 
-    Rec/AliTPCtrackerMI.cxx 
+    Rec/AliTPCtracker.cxx 
     Rec/AliTPCtrackerSector.cxx 
     Rec/AliTPCReconstructor.cxx 
     Rec/AliTPCRecoParam.cxx 
diff --git a/TPC/CMakelibTPCutil.pkg b/TPC/CMakelibTPCutil.pkg
new file mode 100644 (file)
index 0000000..dd38169
--- /dev/null
@@ -0,0 +1,44 @@
+# -*- mode: CMake -*- 
+#--------------------------------------------------------------------------------#
+# Package File for TPCutil                                                       #
+# Author : Jochen Thaeder                                                        #
+# Variables Defined :                                                            #
+#                                                                                #
+# SRCS - C++ source files                                                        #
+# HDRS - C++ header files                                                        #
+# DHDR - ROOT Dictionary Linkdef header file                                     #
+# CSRCS - C source files                                                         #
+# CHDRS - C header files                                                         #
+# EINCLUDE - Include directories                                                 #
+# EDEFINE - Compiler definitions                                                 #
+# ELIBS - Extra libraries to link                                                #
+# ELIBSDIR - Extra library directories                                           #
+# PACKFFLAGS - Fortran compiler flags for package                                #
+# PACKCXXFLAGS - C++ compiler flags for package                                  #
+# PACKCFLAGS - C compiler flags for package                                      #
+# PACKSOFLAGS - Shared library linking flags                                     #
+# PACKLDFLAGS - Module linker flags                                              #
+# PACKBLIBS - Libraries to link (Executables only)                               #
+# EXPORT - Header files to be exported                                           #
+# CINTHDRS - Dictionary header files                                             #
+# CINTAUTOLINK - Set automatic dictionary generation                             #
+# ARLIBS - Archive Libraries and objects for linking (Executables only)          #
+# SHLIBS - Shared Libraries and objects for linking (Executables only)           #
+#--------------------------------------------------------------------------------#
+
+set ( SRCS  
+    Util/AliTPCGenDBTemp.cxx
+    Util/AliTPCGenDBConf.cxx
+    Util/AliTPCCalibViewerGUIAlarms.cxx 
+    Util/AliTPCCalibQAChecker.cxx 
+    Util/AliTPCAltroEmulator.cxx
+    Util/AliTPCkalmanTime.cxx 
+    Util/AliTPCAlign.cxx 
+    )
+
+string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
+
+set ( EINCLUDE RAW TPC TPC/Util TPC/Base ANALYSIS STAT STEER/STEER STEER/CDB STEER/STEERBase )
+
+set ( DHDR  TPCutilLinkDef.h)
+
index 0a00aea..5c426d4 100644 (file)
@@ -10,7 +10,6 @@ Int_t FindKrClustersRaw(const char *fileName="data.root"){
   //\r
   // remove Altro warnings\r
   //\r
-  AliLog::SetClassDebugLevel("AliTPCRawStream",-5);\r
   AliLog::SetClassDebugLevel("AliRawReaderDate",-5);\r
   AliLog::SetClassDebugLevel("AliTPCAltroMapping",-5);\r
   AliLog::SetModuleDebugLevel("RAW",-5);\r
index 5094c67..ebaa60d 100644 (file)
@@ -20,7 +20,7 @@
 //                                                                           //  
 //
 /*
-  The reconstruction parameters are used in the AliTPCclustererMI and AliTPCtrackerMI
+  The reconstruction parameters are used in the AliTPCclusterer and AliTPCtracker
   
   They are retrieved:
   0. User speciefied it in reconstruction macro
index 784616b..803808b 100644 (file)
@@ -40,8 +40,8 @@
 #include "AliRunLoader.h"
 #include "AliRun.h"
 #include "AliRawReader.h"
-#include "AliTPCclustererMI.h"
-#include "AliTPCtrackerMI.h"
+#include "AliTPCclusterer.h"
+#include "AliTPCtracker.h"
 //#include "AliTPCpidESD.h"
 #include "AliTPCParam.h"
 #include "AliTPCParamSR.h"
@@ -72,7 +72,7 @@ fClusterer(NULL)
     AliWarning("Loading default TPC parameters !");
     param = new AliTPCParamSR;
   }
-  fClusterer = new AliTPCclustererMI(param);
+  fClusterer = new AliTPCclusterer(param);
 }
 
 AliTPCReconstructor::AliTPCReconstructor(const AliTPCReconstructor& /*rec*/):
@@ -127,7 +127,7 @@ AliTracker* AliTPCReconstructor::CreateTracker() const
   }
   param->ReadGeoMatrices();
   
-  AliTPCtrackerMI* tracker = new AliTPCtrackerMI(param);
+  AliTPCtracker* tracker = new AliTPCtracker(param);
 
   ParseOptions(tracker);
 
@@ -159,7 +159,7 @@ AliTPCParam* AliTPCReconstructor::GetTPCParam() const
 
 
 //_____________________________________________________________________________
-void AliTPCReconstructor::ParseOptions( AliTPCtrackerMI* tracker ) const
+void AliTPCReconstructor::ParseOptions( AliTPCtracker* tracker ) const
 {
 // parse options from rec.C and set in clusterer and tracker
   
index d618b52..631b5f8 100644 (file)
@@ -9,8 +9,8 @@
 #include "AliTPCRecoParam.h"
 
 class AliTPCParam;
-class AliTPCclustererMI;
-class AliTPCtrackerMI;
+class AliTPCclusterer;
+class AliTPCtracker;
 class AliTPCAltroEmulator;
 
 class AliTPCReconstructor: public AliReconstructor {
@@ -39,14 +39,14 @@ public:
   static void  SetAltroEmulator(AliTPCAltroEmulator *altro) { fAltroEmulator=altro;}
   static AliTPCAltroEmulator *  GetAltroEmulator() { return fAltroEmulator;}
 
-  void ParseOptions(AliTPCtrackerMI* tracker) const;
+  void ParseOptions(AliTPCtracker* tracker) const;
 
 private:
   AliTPCReconstructor(const AliTPCReconstructor&); //Not implemented
   AliTPCReconstructor& operator=(const AliTPCReconstructor&); //Not implemented
   AliTPCParam*         GetTPCParam() const;
   static Int_t               fgStreamLevel; // flag for streaming      - for TPC reconstruction
-  AliTPCclustererMI*         fClusterer;   // TPC clusterer
+  AliTPCclusterer*           fClusterer;   // TPC clusterer
   static AliTPCAltroEmulator * fAltroEmulator;    // ALTRO emulator
   ClassDef(AliTPCReconstructor, 0)   // class for the TPC reconstruction
 };
similarity index 97%
rename from TPC/Rec/AliTPCclustererMI.cxx
rename to TPC/Rec/AliTPCclusterer.cxx
index add2b55..4eddf65 100644 (file)
 #include "AliTPCclusterInfo.h"
 #include "AliTPCclusterMI.h"
 #include "AliTPCTransform.h"
-#include "AliTPCclustererMI.h"
+#include "AliTPCclusterer.h"
 
 using std::cerr;
 using std::endl;
-ClassImp(AliTPCclustererMI)
+ClassImp(AliTPCclusterer)
 
 
 
-AliTPCclustererMI::AliTPCclustererMI(const AliTPCParam* par, const AliTPCRecoParam * recoParam):
+AliTPCclusterer::AliTPCclusterer(const AliTPCParam* par, const AliTPCRecoParam * recoParam):
   fBins(0),
   fSigBins(0),
   fNSigBins(0),
@@ -169,7 +169,7 @@ AliTPCclustererMI::AliTPCclustererMI(const AliTPCParam* par, const AliTPCRecoPar
 }
 
 //______________________________________________________________
-AliTPCclustererMI::~AliTPCclustererMI(){
+AliTPCclusterer::~AliTPCclusterer(){
   //
   //
   //
@@ -200,7 +200,7 @@ AliTPCclustererMI::~AliTPCclustererMI(){
   if (fHLTClusterAccess) delete fHLTClusterAccess;
 }
 
-void AliTPCclustererMI::SetInput(TTree * tree)
+void AliTPCclusterer::SetInput(TTree * tree)
 {
   //
   // set input tree with digits
@@ -213,7 +213,7 @@ void AliTPCclustererMI::SetInput(TTree * tree)
   }
 }
 
-void AliTPCclustererMI::SetOutput(TTree * tree) 
+void AliTPCclusterer::SetOutput(TTree * tree) 
 {
   //
   // Set the output tree
@@ -227,7 +227,7 @@ void AliTPCclustererMI::SetOutput(TTree * tree)
 }
 
 
-void AliTPCclustererMI::FillRow(){
+void AliTPCclusterer::FillRow(){
   //
   // fill the output container - 
   // 2 Options possible
@@ -242,7 +242,7 @@ void AliTPCclustererMI::FillRow(){
   }
 }
 
-Float_t  AliTPCclustererMI::GetSigmaY2(Int_t iz){
+Float_t  AliTPCclusterer::GetSigmaY2(Int_t iz){
   // sigma y2 = in digits  - we don't know the angle
   Float_t z = iz*fParam->GetZWidth()+fParam->GetNTBinsL1()*fParam->GetZWidth();
   Float_t sd2 = (z*fParam->GetDiffL()*fParam->GetDiffL())/
@@ -253,7 +253,7 @@ Float_t  AliTPCclustererMI::GetSigmaY2(Int_t iz){
 }
 
 
-Float_t  AliTPCclustererMI::GetSigmaZ2(Int_t iz){
+Float_t  AliTPCclusterer::GetSigmaZ2(Int_t iz){
   //sigma z2 = in digits - angle estimated supposing vertex constraint
   Float_t z = iz*fZWidth+fParam->GetNTBinsL1()*fParam->GetZWidth();
   Float_t sd2 = (z*fParam->GetDiffL()*fParam->GetDiffL())/(fZWidth*fZWidth);
@@ -266,7 +266,7 @@ Float_t  AliTPCclustererMI::GetSigmaZ2(Int_t iz){
   return res;
 }
 
-void AliTPCclustererMI::MakeCluster(Int_t k,Int_t max,Float_t *bins, UInt_t /*m*/,
+void AliTPCclusterer::MakeCluster(Int_t k,Int_t max,Float_t *bins, UInt_t /*m*/,
 AliTPCclusterMI &c) 
 {
   //
@@ -427,7 +427,7 @@ AliTPCclusterMI &c)
 
 
 
-void AliTPCclustererMI::UnfoldCluster(Float_t * matrix2[7], Float_t recmatrix[5][5], Float_t & meani, Float_t & meanj, 
+void AliTPCclusterer::UnfoldCluster(Float_t * matrix2[7], Float_t recmatrix[5][5], Float_t & meani, Float_t & meanj, 
                                      Float_t & sumu, Float_t & overlap )
 {
   //
@@ -553,7 +553,7 @@ void AliTPCclustererMI::UnfoldCluster(Float_t * matrix2[7], Float_t recmatrix[5]
   
 }
 
-Float_t AliTPCclustererMI::FitMax(Float_t vmatrix[5][5], Float_t y, Float_t z, Float_t sigmay, Float_t sigmaz)
+Float_t AliTPCclusterer::FitMax(Float_t vmatrix[5][5], Float_t y, Float_t z, Float_t sigmay, Float_t sigmaz)
 {
   //
   // estimate max
@@ -572,7 +572,7 @@ Float_t AliTPCclustererMI::FitMax(Float_t vmatrix[5][5], Float_t y, Float_t z, F
   return max;
 }
 
-void AliTPCclustererMI::AddCluster(AliTPCclusterMI &c, Float_t * /*matrix*/, Int_t /*pos*/){
+void AliTPCclusterer::AddCluster(AliTPCclusterMI &c, Float_t * /*matrix*/, Int_t /*pos*/){
   //
   //
   // Transform cluster to the rotated global coordinata
@@ -666,7 +666,7 @@ void AliTPCclustererMI::AddCluster(AliTPCclusterMI &c, Float_t * /*matrix*/, Int
 
 
 //_____________________________________________________________________________
-void AliTPCclustererMI::Digits2Clusters()
+void AliTPCclusterer::Digits2Clusters()
 {
   //-----------------------------------------------------------------
   // This is a simple cluster finder.
@@ -802,7 +802,7 @@ void AliTPCclustererMI::Digits2Clusters()
   }
 }
 
-void AliTPCclustererMI::ProcessSectorData(){
+void AliTPCclusterer::ProcessSectorData(){
   //
   // Process the data for the current sector
   //
@@ -936,7 +936,7 @@ void AliTPCclustererMI::ProcessSectorData(){
 }
 
 
-void AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
+void AliTPCclusterer::Digits2Clusters(AliRawReader* rawReader)
 {
 //-----------------------------------------------------------------
 // This is a cluster finder for the TPC raw data.
@@ -1162,7 +1162,7 @@ void AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
   }
 }
 
-void AliTPCclustererMI::FindClusters(AliTPCCalROC * noiseROC)
+void AliTPCclusterer::FindClusters(AliTPCCalROC * noiseROC)
 {
   
   //
@@ -1217,7 +1217,7 @@ void AliTPCclustererMI::FindClusters(AliTPCCalROC * noiseROC)
   }
 }
 
-Bool_t AliTPCclustererMI::AcceptCluster(AliTPCclusterMI *cl){
+Bool_t AliTPCclusterer::AcceptCluster(AliTPCclusterMI *cl){
   // -- Depricated --
   // Currently hack to filter digital noise (15.06.2008)
   // To be parameterized in the AliTPCrecoParam
@@ -1234,7 +1234,7 @@ Bool_t AliTPCclustererMI::AcceptCluster(AliTPCclusterMI *cl){
 }
 
 
-Double_t AliTPCclustererMI::ProcesSignal(Float_t *signal, Int_t nchannels, Int_t id[3], Double_t &rmsEvent, Double_t &pedestalEvent){
+Double_t AliTPCclusterer::ProcesSignal(Float_t *signal, Int_t nchannels, Int_t id[3], Double_t &rmsEvent, Double_t &pedestalEvent){
   //
   // process signal on given pad - + streaming of additional information in special mode
   //
@@ -1322,7 +1322,7 @@ Double_t AliTPCclustererMI::ProcesSignal(Float_t *signal, Int_t nchannels, Int_t
   rmsEvent = rms09;
   //
   pedestalEvent = median;
-  if (AliLog::GetDebugLevel("","AliTPCclustererMI")==0) return median;
+  if (AliLog::GetDebugLevel("","AliTPCclusterer")==0) return median;
   //
   UInt_t uid[3] = {UInt_t(id[0]),UInt_t(id[1]),UInt_t(id[2])};
   //
@@ -1397,7 +1397,7 @@ Double_t AliTPCclustererMI::ProcesSignal(Float_t *signal, Int_t nchannels, Int_t
   return median;
 }
 
-Int_t AliTPCclustererMI::ReadHLTClusters()
+Int_t AliTPCclusterer::ReadHLTClusters()
 {
   //
   // read HLT clusters instead of off line custers, 
similarity index 90%
rename from TPC/Rec/AliTPCclustererMI.h
rename to TPC/Rec/AliTPCclusterer.h
index bd61f31..dddc831 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef ALITPCCLUSTERERMI_H
-#define ALITPCCLUSTERERMI_H
+#ifndef ALITPCCLUSTERER_H
+#define ALITPCCLUSTERER_H
 
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
@@ -31,10 +31,10 @@ class TTreeSRedirector;
 class  AliRawEventHeaderBase;
 class AliTPCCalROC;
 
-class AliTPCclustererMI : public TObject{
+class AliTPCclusterer : public TObject{
 public:
-  AliTPCclustererMI(const AliTPCParam* par, const AliTPCRecoParam * recoParam = 0);
-  virtual ~AliTPCclustererMI();
+  AliTPCclusterer(const AliTPCParam* par, const AliTPCRecoParam * recoParam = 0);
+  virtual ~AliTPCclusterer();
   virtual void Digits2Clusters();
   virtual void Digits2Clusters(AliRawReader* rawReader);
   virtual void SetInput(TTree * tree);  // set input tree with digits
@@ -48,8 +48,8 @@ public:
   void SetUseHLTClusters(Int_t useHLTClusters) {fUseHLTClusters = useHLTClusters;} // set usage from HLT clusters from rec.C options
 
 private:
-  AliTPCclustererMI(const AliTPCclustererMI &param); // copy constructor
-  AliTPCclustererMI &operator = (const AliTPCclustererMI & param); //assignment
+  AliTPCclusterer(const AliTPCclusterer &param); // copy constructor
+  AliTPCclusterer &operator = (const AliTPCclusterer & param); //assignment
 
   Bool_t IsMaximum(Float_t k, Int_t max, const Float_t *bins) const; 
   void MakeCluster2(Int_t k,Int_t max,Float_t *bins,UInt_t m,
@@ -108,10 +108,10 @@ private:
   Int_t*  fAllNSigBins;//! Number of signal bins in a sector
   TObject* fHLTClusterAccess;// interface to HLT clusters
 
-  ClassDef(AliTPCclustererMI,0)  // TPC cluster finder
+  ClassDef(AliTPCclusterer,0)  // TPC cluster finder
 };
 
-inline Bool_t AliTPCclustererMI::IsMaximum(Float_t q,Int_t max,const Float_t *bins) const {
+inline Bool_t AliTPCclusterer::IsMaximum(Float_t q,Int_t max,const Float_t *bins) const {
   //is this a local maximum ?
   if (bins[-max] >= q) return kFALSE;
   if (bins[-1  ] >= q) return kFALSE; 
index 8e712b3..f1864d6 100644 (file)
@@ -19,7 +19,7 @@
 //-----------------------------------------------------------------
 //
 //           Implementation of the TPC seed class
-//        This class is used by the AliTPCtrackerMI class
+//        This class is used by the AliTPCtracker class
 //      Origin: Marian Ivanov, CERN, Marian.Ivanov@cern.ch
 //-----------------------------------------------------------------
 #include "TClonesArray.h"
index 1291a84..5cd0ec6 100644 (file)
@@ -17,7 +17,7 @@
 
 //-----------------------------------------------------------------
 //           Implementation of the TPC track class
-//        This class is used by the AliTPCtrackerMI class
+//        This class is used by the AliTPCtracker class
 //      Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
 //-----------------------------------------------------------------
 
similarity index 97%
rename from TPC/Rec/AliTPCtrackerMI.cxx
rename to TPC/Rec/AliTPCtracker.cxx
index fc0fae8..79c245a 100644 (file)
 //
 // The sytematic errors are added to the covariance matrix in following places:
 //
-// 1. During fisrt itteration - AliTPCtrackerMI::FillESD
+// 1. During fisrt itteration - AliTPCtracker::FillESD
 // 2. Second iteration - 
-//      2.a ITS->TPC   - AliTPCtrackerMI::ReadSeeds 
-//      2.b TPC->TRD   - AliTPCtrackerMI::PropagateBack
+//      2.a ITS->TPC   - AliTPCtracker::ReadSeeds 
+//      2.b TPC->TRD   - AliTPCtracker::PropagateBack
 // 3. Third iteration  -
-//      3.a TRD->TPC   - AliTPCtrackerMI::ReadSeeds
-//      3.b TPC->ITS   - AliTPCtrackerMI::RefitInward
+//      3.a TRD->TPC   - AliTPCtracker::ReadSeeds
+//      3.b TPC->ITS   - AliTPCtracker::RefitInward
 //
 // There are several places in the code which can be numerically debuged
 // This code is keeped in order to enable code development and to check the calibration implementtion
 #include "AliTPCseed.h"
 
 #include "AliTPCtrackerSector.h" 
-#include "AliTPCtrackerMI.h"
+#include "AliTPCtracker.h"
 #include "TStopwatch.h"
 #include "AliTPCReconstructor.h"
 #include "AliAlignObj.h"
 
 using std::cerr;
 using std::endl;
-ClassImp(AliTPCtrackerMI)
+ClassImp(AliTPCtracker)
 
 
 
@@ -188,7 +188,7 @@ Double_t AliTPCFastMath::FastAsin(Double_t x){
   return -(fgFastAsin[2*index]+(x*10000.-index)*fgFastAsin[2*index+1]);
 }
 //__________________________________________________________________
-AliTPCtrackerMI::AliTPCtrackerMI()
+AliTPCtracker::AliTPCtracker()
                 :AliTracker(),
                 fkNIS(0),
                 fInnerSec(0),
@@ -229,7 +229,7 @@ AliTPCtrackerMI::AliTPCtrackerMI()
 
 
 
-Int_t AliTPCtrackerMI::UpdateTrack(AliTPCseed * track, Int_t accept){
+Int_t AliTPCtracker::UpdateTrack(AliTPCseed * track, Int_t accept){
   //
   //update track information using current cluster - track->fCurrentCluster
 
@@ -308,7 +308,7 @@ Int_t AliTPCtrackerMI::UpdateTrack(AliTPCseed * track, Int_t accept){
 
 
 
-Int_t AliTPCtrackerMI::AcceptCluster(AliTPCseed * seed, AliTPCclusterMI * cluster)
+Int_t AliTPCtracker::AcceptCluster(AliTPCseed * seed, AliTPCclusterMI * cluster)
 {
   //
   // decide according desired precision to accept given 
@@ -404,7 +404,7 @@ Int_t AliTPCtrackerMI::AcceptCluster(AliTPCseed * seed, AliTPCclusterMI * cluste
 
 
 //_____________________________________________________________________________
-AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCParam *par): 
+AliTPCtracker::AliTPCtracker(const AliTPCParam *par): 
 AliTracker(), 
                 fkNIS(par->GetNInnerSector()/2),
                 fInnerSec(0),
@@ -466,7 +466,7 @@ AliTracker(),
   fSeedsPool = new TClonesArray("AliTPCseed",1000);
 }
 //________________________________________________________________________
-AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCtrackerMI &t):
+AliTPCtracker::AliTPCtracker(const AliTPCtracker &t):
   AliTracker(t),
                 fkNIS(t.fkNIS),
                 fInnerSec(0),
@@ -504,7 +504,7 @@ AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCtrackerMI &t):
   }
 
 }
-AliTPCtrackerMI & AliTPCtrackerMI::operator=(const AliTPCtrackerMI& /*r*/)
+AliTPCtracker & AliTPCtracker::operator=(const AliTPCtracker& /*r*/)
 {
   //------------------------------
   // dummy 
@@ -512,7 +512,7 @@ AliTPCtrackerMI & AliTPCtrackerMI::operator=(const AliTPCtrackerMI& /*r*/)
   return *this;
 }
 //_____________________________________________________________________________
-AliTPCtrackerMI::~AliTPCtrackerMI() {
+AliTPCtracker::~AliTPCtracker() {
   //------------------------------------------------------------------
   // TPC tracker destructor
   //------------------------------------------------------------------
@@ -527,7 +527,7 @@ AliTPCtrackerMI::~AliTPCtrackerMI() {
 }
 
 
-void AliTPCtrackerMI::FillESD(const TObjArray* arr)
+void AliTPCtracker::FillESD(const TObjArray* arr)
 {
   //
   //
@@ -679,7 +679,7 @@ void AliTPCtrackerMI::FillESD(const TObjArray* arr)
 
 
 
-Double_t AliTPCtrackerMI::ErrY2(AliTPCseed* seed, const AliTPCclusterMI * cl){
+Double_t AliTPCtracker::ErrY2(AliTPCseed* seed, const AliTPCclusterMI * cl){
   //
   //
   // Use calibrated cluster error from OCDB
@@ -833,7 +833,7 @@ Double_t AliTPCtrackerMI::ErrY2(AliTPCseed* seed, const AliTPCclusterMI * cl){
 
 
 
-Double_t AliTPCtrackerMI::ErrZ2(AliTPCseed* seed, const AliTPCclusterMI * cl){
+Double_t AliTPCtracker::ErrZ2(AliTPCseed* seed, const AliTPCclusterMI * cl){
   //
   //
   // Use calibrated cluster error from OCDB
@@ -998,7 +998,7 @@ Double_t AliTPCtrackerMI::ErrZ2(AliTPCseed* seed, const AliTPCclusterMI * cl){
 
 
 
-void AliTPCtrackerMI::RotateToLocal(AliTPCseed *seed)
+void AliTPCtracker::RotateToLocal(AliTPCseed *seed)
 {
   //rotate to track "local coordinata
   Float_t x = seed->GetX();
@@ -1020,7 +1020,7 @@ void AliTPCtrackerMI::RotateToLocal(AliTPCseed *seed)
 
 
 //_____________________________________________________________________________
-Double_t AliTPCtrackerMI::F1old(Double_t x1,Double_t y1,
+Double_t AliTPCtracker::F1old(Double_t x1,Double_t y1,
                    Double_t x2,Double_t y2,
                    Double_t x3,Double_t y3) const
 {
@@ -1041,7 +1041,7 @@ Double_t AliTPCtrackerMI::F1old(Double_t x1,Double_t y1,
 
 
 //_____________________________________________________________________________
-Double_t AliTPCtrackerMI::F1(Double_t x1,Double_t y1,
+Double_t AliTPCtracker::F1(Double_t x1,Double_t y1,
                    Double_t x2,Double_t y2,
                    Double_t x3,Double_t y3) const
 {
@@ -1067,7 +1067,7 @@ Double_t AliTPCtrackerMI::F1(Double_t x1,Double_t y1,
 }
 
 
-Double_t AliTPCtrackerMI::F2(Double_t x1,Double_t y1,
+Double_t AliTPCtracker::F2(Double_t x1,Double_t y1,
                    Double_t x2,Double_t y2,
                    Double_t x3,Double_t y3) const 
 {
@@ -1097,7 +1097,7 @@ Double_t AliTPCtrackerMI::F2(Double_t x1,Double_t y1,
 
 
 //_____________________________________________________________________________
-Double_t AliTPCtrackerMI::F2old(Double_t x1,Double_t y1,
+Double_t AliTPCtracker::F2old(Double_t x1,Double_t y1,
                    Double_t x2,Double_t y2,
                    Double_t x3,Double_t y3) const
 {
@@ -1116,7 +1116,7 @@ Double_t AliTPCtrackerMI::F2old(Double_t x1,Double_t y1,
 }
 
 //_____________________________________________________________________________
-Double_t AliTPCtrackerMI::F3(Double_t x1,Double_t y1, 
+Double_t AliTPCtracker::F3(Double_t x1,Double_t y1, 
                    Double_t x2,Double_t y2,
                    Double_t z1,Double_t z2) const
 {
@@ -1127,7 +1127,7 @@ Double_t AliTPCtrackerMI::F3(Double_t x1,Double_t y1,
 }
 
 
-Double_t AliTPCtrackerMI::F3n(Double_t x1,Double_t y1, 
+Double_t AliTPCtracker::F3n(Double_t x1,Double_t y1, 
                    Double_t x2,Double_t y2,
                    Double_t z1,Double_t z2, Double_t c) const
 {
@@ -1149,7 +1149,7 @@ Double_t AliTPCtrackerMI::F3n(Double_t x1,Double_t y1,
   return angle2;
 }
 
-Bool_t   AliTPCtrackerMI::GetProlongation(Double_t x1, Double_t x2, Double_t x[5], Double_t &y, Double_t &z) const
+Bool_t   AliTPCtracker::GetProlongation(Double_t x1, Double_t x2, Double_t x[5], Double_t &y, Double_t &z) const
 {//-----------------------------------------------------------------
   // This function find proloncation of a track to a reference plane x=x2.
   //-----------------------------------------------------------------
@@ -1184,7 +1184,7 @@ Bool_t   AliTPCtrackerMI::GetProlongation(Double_t x1, Double_t x2, Double_t x[5
   return kTRUE;  
 }
 
-Int_t  AliTPCtrackerMI::LoadClusters (TTree *const tree)
+Int_t  AliTPCtracker::LoadClusters (TTree *const tree)
 {
   // load clusters
   //
@@ -1193,7 +1193,7 @@ Int_t  AliTPCtrackerMI::LoadClusters (TTree *const tree)
 }
 
 
-Int_t  AliTPCtrackerMI::LoadClusters(const TObjArray *arr)
+Int_t  AliTPCtracker::LoadClusters(const TObjArray *arr)
 {
   //
   // load clusters to the memory
@@ -1245,7 +1245,7 @@ Int_t  AliTPCtrackerMI::LoadClusters(const TObjArray *arr)
   return 0;
 }
 
-Int_t  AliTPCtrackerMI::LoadClusters(const TClonesArray *arr)
+Int_t  AliTPCtracker::LoadClusters(const TClonesArray *arr)
 {
   //
   // load clusters to the memory from one 
@@ -1303,7 +1303,7 @@ Int_t  AliTPCtrackerMI::LoadClusters(const TClonesArray *arr)
 }
 
 
-Int_t  AliTPCtrackerMI::LoadClusters()
+Int_t  AliTPCtracker::LoadClusters()
 {
   //
   // load clusters to the memory
@@ -1357,7 +1357,7 @@ Int_t  AliTPCtrackerMI::LoadClusters()
 }
 
 
-void AliTPCtrackerMI::UnloadClusters()
+void AliTPCtracker::UnloadClusters()
 {
   //
   // unload clusters from the memory
@@ -1387,7 +1387,7 @@ void AliTPCtrackerMI::UnloadClusters()
   return ;
 }
 
-void AliTPCtrackerMI::FillClusterArray(TObjArray* array) const{
+void AliTPCtracker::FillClusterArray(TObjArray* array) const{
   //
   // Filling cluster to the array - For visualization purposes
   //
@@ -1413,7 +1413,7 @@ void AliTPCtrackerMI::FillClusterArray(TObjArray* array) const{
 }
 
 
-void   AliTPCtrackerMI::Transform(AliTPCclusterMI * cluster){
+void   AliTPCtracker::Transform(AliTPCclusterMI * cluster){
   //
   // transformation
   //
@@ -1473,7 +1473,7 @@ void   AliTPCtrackerMI::Transform(AliTPCclusterMI * cluster){
   }
 }
 
-void  AliTPCtrackerMI::ApllyTailCancellation(){
+void  AliTPCtracker::ApllyTailCancellation(){
   //
   // Correct the cluster charge for the tail from the previous clusters
   // The TimeResponse function accessed via  AliTPCcalibDB (TPC/Calib/IonTail)
@@ -1526,7 +1526,7 @@ void  AliTPCtrackerMI::ApllyTailCancellation(){
 
 
 //_____________________________________________________________________________
-Int_t AliTPCtrackerMI::LoadOuterSectors() {
+Int_t AliTPCtracker::LoadOuterSectors() {
   //-----------------------------------------------------------------
   // This function fills outer TPC sectors with clusters.
   //-----------------------------------------------------------------
@@ -1574,7 +1574,7 @@ Int_t AliTPCtrackerMI::LoadOuterSectors() {
 
 
 //_____________________________________________________________________________
-Int_t  AliTPCtrackerMI::LoadInnerSectors() {
+Int_t  AliTPCtracker::LoadInnerSectors() {
   //-----------------------------------------------------------------
   // This function fills inner TPC sectors with clusters.
   //-----------------------------------------------------------------
@@ -1625,7 +1625,7 @@ Int_t  AliTPCtrackerMI::LoadInnerSectors() {
 
 
 //_________________________________________________________________________
-AliTPCclusterMI *AliTPCtrackerMI::GetClusterMI(Int_t index) const {
+AliTPCclusterMI *AliTPCtracker::GetClusterMI(Int_t index) const {
   //--------------------------------------------------------------------
   //       Return pointer to a given cluster
   //--------------------------------------------------------------------
@@ -1679,7 +1679,7 @@ AliTPCclusterMI *AliTPCtrackerMI::GetClusterMI(Int_t index) const {
 
 
 
-Int_t AliTPCtrackerMI::FollowToNext(AliTPCseed& t, Int_t nr) {
+Int_t AliTPCtracker::FollowToNext(AliTPCseed& t, Int_t nr) {
   //-----------------------------------------------------------------
   // This function tries to find a track prolongation to next pad row
   //-----------------------------------------------------------------
@@ -1850,7 +1850,7 @@ Int_t AliTPCtrackerMI::FollowToNext(AliTPCseed& t, Int_t nr) {
 
 
 //_________________________________________________________________________
-Bool_t AliTPCtrackerMI::GetTrackPoint(Int_t index, AliTrackPoint &p ) const
+Bool_t AliTPCtracker::GetTrackPoint(Int_t index, AliTrackPoint &p ) const
 {
   // Get track space point by index
   // return false in case the cluster doesn't exist
@@ -1896,7 +1896,7 @@ Bool_t AliTPCtrackerMI::GetTrackPoint(Int_t index, AliTrackPoint &p ) const
 
 
 
-Int_t AliTPCtrackerMI::UpdateClusters(AliTPCseed& t,  Int_t nr) {
+Int_t AliTPCtracker::UpdateClusters(AliTPCseed& t,  Int_t nr) {
   //-----------------------------------------------------------------
   // This function tries to find a track prolongation to next pad row
   //-----------------------------------------------------------------
@@ -2012,7 +2012,7 @@ Int_t AliTPCtrackerMI::UpdateClusters(AliTPCseed& t,  Int_t nr) {
 }
 
 
-Int_t AliTPCtrackerMI::FollowToNextCluster(AliTPCseed & t, Int_t nr) {
+Int_t AliTPCtracker::FollowToNextCluster(AliTPCseed & t, Int_t nr) {
   //-----------------------------------------------------------------
   // This function tries to find a track prolongation to next pad row
   //-----------------------------------------------------------------
@@ -2051,7 +2051,7 @@ Int_t AliTPCtrackerMI::FollowToNextCluster(AliTPCseed & t, Int_t nr) {
 
 
 //_____________________________________________________________________________
-Int_t AliTPCtrackerMI::FollowProlongation(AliTPCseed& t, Int_t rf, Int_t step, Bool_t fromSeeds) {
+Int_t AliTPCtracker::FollowProlongation(AliTPCseed& t, Int_t rf, Int_t step, Bool_t fromSeeds) {
   //-----------------------------------------------------------------
   // This function tries to find a track prolongation.
   //-----------------------------------------------------------------
@@ -2110,7 +2110,7 @@ Int_t AliTPCtrackerMI::FollowProlongation(AliTPCseed& t, Int_t rf, Int_t step, B
 
 
 
-Int_t AliTPCtrackerMI::FollowBackProlongation(AliTPCseed& t, Int_t rf, Bool_t fromSeeds) {
+Int_t AliTPCtracker::FollowBackProlongation(AliTPCseed& t, Int_t rf, Bool_t fromSeeds) {
   //-----------------------------------------------------------------
   // This function tries to find a track prolongation.
   //-----------------------------------------------------------------
@@ -2167,7 +2167,7 @@ Int_t AliTPCtrackerMI::FollowBackProlongation(AliTPCseed& t, Int_t rf, Bool_t fr
 
 
    
-Float_t AliTPCtrackerMI::OverlapFactor(AliTPCseed * s1, AliTPCseed * s2, Int_t &sum1, Int_t & sum2)
+Float_t AliTPCtracker::OverlapFactor(AliTPCseed * s1, AliTPCseed * s2, Int_t &sum1, Int_t & sum2)
 {
   // overlapping factor
   //
@@ -2210,7 +2210,7 @@ Float_t AliTPCtrackerMI::OverlapFactor(AliTPCseed * s1, AliTPCseed * s2, Int_t &
   return ratio;
 }
 
-void  AliTPCtrackerMI::SignShared(AliTPCseed * s1, AliTPCseed * s2)
+void  AliTPCtracker::SignShared(AliTPCseed * s1, AliTPCseed * s2)
 {
   // shared clusters
   //
@@ -2271,7 +2271,7 @@ void  AliTPCtrackerMI::SignShared(AliTPCseed * s1, AliTPCseed * s2)
   }
 }
 
-void  AliTPCtrackerMI::SignShared(TObjArray * arr)
+void  AliTPCtracker::SignShared(TObjArray * arr)
 {
   //
   //sort trackss according sectors
@@ -2312,7 +2312,7 @@ void  AliTPCtrackerMI::SignShared(TObjArray * arr)
 }
 
 
-void AliTPCtrackerMI::SortTracks(TObjArray * arr, Int_t mode) const
+void AliTPCtracker::SortTracks(TObjArray * arr, Int_t mode) const
 {
   //
   //sort tracks in array according mode criteria
@@ -2329,7 +2329,7 @@ void AliTPCtrackerMI::SortTracks(TObjArray * arr, Int_t mode) const
 }
 
 
-void AliTPCtrackerMI::RemoveUsed2(TObjArray * arr, Float_t factor1,  Float_t factor2, Int_t minimal)
+void AliTPCtracker::RemoveUsed2(TObjArray * arr, Float_t factor1,  Float_t factor2, Int_t minimal)
 {
   //
   // Loop over all tracks and remove overlaped tracks (with lower quality)
@@ -2343,9 +2343,9 @@ void AliTPCtrackerMI::RemoveUsed2(TObjArray * arr, Float_t factor1,  Float_t fac
   //       b.) remove - If the minimal number of clusters less than minimal and not ITS
   //       c.) if track accepted - sign clusters
   //
-  //Called in - AliTPCtrackerMI::Clusters2Tracks()
-  //          - AliTPCtrackerMI::PropagateBack()
-  //          - AliTPCtrackerMI::RefitInward()
+  //Called in - AliTPCtracker::Clusters2Tracks()
+  //          - AliTPCtracker::PropagateBack()
+  //          - AliTPCtracker::RefitInward()
   //
   // Arguments:
   //   factor1 - factor for constrained
@@ -2450,7 +2450,7 @@ void AliTPCtrackerMI::RemoveUsed2(TObjArray * arr, Float_t factor1,  Float_t fac
   delete []indexes;
 }
 
-void AliTPCtrackerMI::DumpClusters(Int_t iter, TObjArray *trackArray) 
+void AliTPCtracker::DumpClusters(Int_t iter, TObjArray *trackArray) 
 {
   //
   // Dump clusters after reco
@@ -2538,7 +2538,7 @@ void AliTPCtrackerMI::DumpClusters(Int_t iter, TObjArray *trackArray)
   }
   
 }
-void AliTPCtrackerMI::UnsignClusters() 
+void AliTPCtracker::UnsignClusters() 
 {
   //
   // loop over all clusters and unsign them
@@ -2574,7 +2574,7 @@ void AliTPCtrackerMI::UnsignClusters()
 
 
 
-void AliTPCtrackerMI::SignClusters(const TObjArray * arr, Float_t fnumber, Float_t fdensity)
+void AliTPCtracker::SignClusters(const TObjArray * arr, Float_t fnumber, Float_t fdensity)
 {
   //
   //sign clusters to be "used"
@@ -2741,7 +2741,7 @@ void AliTPCtrackerMI::SignClusters(const TObjArray * arr, Float_t fnumber, Float
 
 
 
-Int_t AliTPCtrackerMI::RefitInward(AliESDEvent *event)
+Int_t AliTPCtracker::RefitInward(AliESDEvent *event)
 {
   //
   // back propagation of ESD tracks
@@ -2884,7 +2884,7 @@ Int_t AliTPCtrackerMI::RefitInward(AliESDEvent *event)
 }
 
 
-Int_t AliTPCtrackerMI::PropagateBack(AliESDEvent *event)
+Int_t AliTPCtracker::PropagateBack(AliESDEvent *event)
 {
   //
   // back propagation of ESD tracks
@@ -2961,7 +2961,7 @@ Int_t AliTPCtrackerMI::PropagateBack(AliESDEvent *event)
 }
 
 
-Int_t AliTPCtrackerMI::PostProcess(AliESDEvent *event)
+Int_t AliTPCtracker::PostProcess(AliESDEvent *event)
 {
   //
   // Post process events 
@@ -2984,7 +2984,7 @@ Int_t AliTPCtrackerMI::PostProcess(AliESDEvent *event)
 }
 
 
- void AliTPCtrackerMI::DeleteSeeds()
+ void AliTPCtracker::DeleteSeeds()
 {
   //
   fSeeds->Clear();
@@ -2993,7 +2993,7 @@ Int_t AliTPCtrackerMI::PostProcess(AliESDEvent *event)
   fSeeds =0;
 }
 
-void AliTPCtrackerMI::ReadSeeds(const AliESDEvent *const event, Int_t direction)
+void AliTPCtracker::ReadSeeds(const AliESDEvent *const event, Int_t direction)
 {
   //
   //read seeds from the event
@@ -3104,7 +3104,7 @@ void AliTPCtrackerMI::ReadSeeds(const AliESDEvent *const event, Int_t direction)
 
 
 //_____________________________________________________________________________
-void AliTPCtrackerMI::MakeSeeds3(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,  Float_t cuts[4],
+void AliTPCtracker::MakeSeeds3(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,  Float_t cuts[4],
                                 Float_t deltay, Int_t ddsec) {
   //-----------------------------------------------------------------
   // This function creates track seeds.
@@ -3416,7 +3416,7 @@ void AliTPCtrackerMI::MakeSeeds3(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,
 }
 
 
-void AliTPCtrackerMI::MakeSeeds5(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,  Float_t cuts[4],
+void AliTPCtracker::MakeSeeds5(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,  Float_t cuts[4],
                                 Float_t deltay) {
   
 
@@ -3675,7 +3675,7 @@ void AliTPCtrackerMI::MakeSeeds5(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,
 
 
 //_____________________________________________________________________________
-void AliTPCtrackerMI::MakeSeeds2(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2, Float_t */*cuts[4]*/,
+void AliTPCtracker::MakeSeeds2(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2, Float_t */*cuts[4]*/,
                                 Float_t deltay, Bool_t /*bconstrain*/) {
   //-----------------------------------------------------------------
   // This function creates track seeds - without vertex constraint
@@ -3933,7 +3933,7 @@ void AliTPCtrackerMI::MakeSeeds2(TObjArray * arr, Int_t sec, Int_t i1, Int_t i2,
 }
 
 
-AliTPCseed *AliTPCtrackerMI::MakeSeed(AliTPCseed *const track, Float_t r0, Float_t r1, Float_t r2)
+AliTPCseed *AliTPCtracker::MakeSeed(AliTPCseed *const track, Float_t r0, Float_t r1, Float_t r2)
 {
   //
   //
@@ -4066,7 +4066,7 @@ AliTPCseed *AliTPCtrackerMI::MakeSeed(AliTPCseed *const track, Float_t r0, Float
 }
 
 
-AliTPCseed *AliTPCtrackerMI::ReSeed(const AliTPCseed *track, Float_t r0, Float_t r1, Float_t r2)
+AliTPCseed *AliTPCtracker::ReSeed(const AliTPCseed *track, Float_t r0, Float_t r1, Float_t r2)
 {
   //
   //
@@ -4180,7 +4180,7 @@ AliTPCseed *AliTPCtrackerMI::ReSeed(const AliTPCseed *track, Float_t r0, Float_t
 }
 
 
-AliTPCseed *AliTPCtrackerMI::ReSeed(AliTPCseed *track,Int_t r0, Bool_t forward)
+AliTPCseed *AliTPCtracker::ReSeed(AliTPCseed *track,Int_t r0, Bool_t forward)
 {
   //
   //
@@ -4335,7 +4335,7 @@ AliTPCseed *AliTPCtrackerMI::ReSeed(AliTPCseed *track,Int_t r0, Bool_t forward)
 
 
 
-void  AliTPCtrackerMI::FindMultiMC(const TObjArray * array, AliESDEvent */*esd*/, Int_t iter)
+void  AliTPCtracker::FindMultiMC(const TObjArray * array, AliESDEvent */*esd*/, Int_t iter)
 {
   //
   //  find multi tracks - THIS FUNCTION IS ONLY FOR DEBUG PURPOSES
@@ -4516,7 +4516,7 @@ void  AliTPCtrackerMI::FindMultiMC(const TObjArray * array, AliESDEvent */*esd*/
 
 
 
-void  AliTPCtrackerMI::FindSplitted(TObjArray * array, AliESDEvent */*esd*/, Int_t /*iter*/){
+void  AliTPCtracker::FindSplitted(TObjArray * array, AliESDEvent */*esd*/, Int_t /*iter*/){
   //
   // Find Splitted tracks and remove the one with worst quality  
   // Corresponding debug streamer to tune selections - "Splitted2"
@@ -4669,7 +4669,7 @@ void  AliTPCtrackerMI::FindSplitted(TObjArray * array, AliESDEvent */*esd*/, Int
 
 
 
-void  AliTPCtrackerMI::FindCurling(const TObjArray * array, AliESDEvent */*esd*/, Int_t iter)
+void  AliTPCtracker::FindCurling(const TObjArray * array, AliESDEvent */*esd*/, Int_t iter)
 {
   //
   //  find Curling tracks
@@ -4873,7 +4873,7 @@ void  AliTPCtrackerMI::FindCurling(const TObjArray * array, AliESDEvent */*esd*/
 }
 
 
-void  AliTPCtrackerMI::FindKinks(TObjArray * array, AliESDEvent *esd)
+void  AliTPCtracker::FindKinks(TObjArray * array, AliESDEvent *esd)
 {
   //
   //  find kinks
@@ -5597,7 +5597,7 @@ void  AliTPCtrackerMI::FindKinks(TObjArray * array, AliESDEvent *esd)
 
 
 /*
-void  AliTPCtrackerMI::FindKinks(TObjArray * array, AliESDEvent *esd)
+void  AliTPCtracker::FindKinks(TObjArray * array, AliESDEvent *esd)
 {
   //
   //  find kinks
@@ -6323,7 +6323,7 @@ void  AliTPCtrackerMI::FindKinks(TObjArray * array, AliESDEvent *esd)
 }
 */
 
-Int_t AliTPCtrackerMI::RefitKink(AliTPCseed &mother, AliTPCseed &daughter, const AliESDkink &knk)
+Int_t AliTPCtracker::RefitKink(AliTPCseed &mother, AliTPCseed &daughter, const AliESDkink &knk)
 {
   //
   // refit kink towards to the vertex
@@ -6408,7 +6408,7 @@ Int_t AliTPCtrackerMI::RefitKink(AliTPCseed &mother, AliTPCseed &daughter, const
 }
 
 
-void AliTPCtrackerMI::UpdateKinkQualityM(AliTPCseed * seed){
+void AliTPCtracker::UpdateKinkQualityM(AliTPCseed * seed){
   //
   // update Kink quality information for mother after back propagation
   //
@@ -6436,7 +6436,7 @@ void AliTPCtrackerMI::UpdateKinkQualityM(AliTPCseed * seed){
     
 }
 
-void AliTPCtrackerMI::UpdateKinkQualityD(AliTPCseed * seed){
+void AliTPCtracker::UpdateKinkQualityD(AliTPCseed * seed){
   //
   // update Kink quality information for daughter after refit
   //
@@ -6465,7 +6465,7 @@ void AliTPCtrackerMI::UpdateKinkQualityD(AliTPCseed * seed){
 }
 
 
-Int_t  AliTPCtrackerMI::CheckKinkPoint(AliTPCseed*seed,AliTPCseed &mother, AliTPCseed &daughter, const AliESDkink &knk)
+Int_t  AliTPCtracker::CheckKinkPoint(AliTPCseed*seed,AliTPCseed &mother, AliTPCseed &daughter, const AliESDkink &knk)
 {
   //
   // check kink point for given track
@@ -6654,7 +6654,7 @@ Int_t  AliTPCtrackerMI::CheckKinkPoint(AliTPCseed*seed,AliTPCseed &mother, AliTP
 
 
 
-AliTPCseed*  AliTPCtrackerMI::ReSeed(AliTPCseed *t)
+AliTPCseed*  AliTPCtracker::ReSeed(AliTPCseed *t)
 {
   //
   // reseed - refit -  track
@@ -6683,7 +6683,7 @@ AliTPCseed*  AliTPCtrackerMI::ReSeed(AliTPCseed *t)
 
 
 //_____________________________________________________________________________
-Int_t AliTPCtrackerMI::ReadSeeds(const TFile *inp) {
+Int_t AliTPCtracker::ReadSeeds(const TFile *inp) {
   //-----------------------------------------------------------------
   // This function reades track seeds.
   //-----------------------------------------------------------------
@@ -6691,14 +6691,14 @@ Int_t AliTPCtrackerMI::ReadSeeds(const TFile *inp) {
 
   TFile *in=(TFile*)inp;
   if (!in->IsOpen()) {
-     cerr<<"AliTPCtrackerMI::ReadSeeds(): input file is not open !\n";
+     cerr<<"AliTPCtracker::ReadSeeds(): input file is not open !\n";
      return 1;
   }
 
   in->cd();
   TTree *seedTree=(TTree*)in->Get("Seeds");
   if (!seedTree) {
-     cerr<<"AliTPCtrackerMI::ReadSeeds(): ";
+     cerr<<"AliTPCtracker::ReadSeeds(): ";
      cerr<<"can't get a tree with track seeds !\n";
      return 2;
   }
@@ -6721,7 +6721,7 @@ Int_t AliTPCtrackerMI::ReadSeeds(const TFile *inp) {
   return 0;
 }
 
-Int_t AliTPCtrackerMI::Clusters2TracksHLT (AliESDEvent *const esd, const AliESDEvent *hltEvent)
+Int_t AliTPCtracker::Clusters2TracksHLT (AliESDEvent *const esd, const AliESDEvent *hltEvent)
 {
   //
   // clusters to tracks
@@ -6743,7 +6743,7 @@ Int_t AliTPCtrackerMI::Clusters2TracksHLT (AliESDEvent *const esd, const AliESDE
   //
 }
 
-Int_t AliTPCtrackerMI::Clusters2Tracks(AliESDEvent *const esd)
+Int_t AliTPCtracker::Clusters2Tracks(AliESDEvent *const esd)
 {
   //
   // clusters to tracks
@@ -6751,7 +6751,7 @@ Int_t AliTPCtrackerMI::Clusters2Tracks(AliESDEvent *const esd)
 }
 
 //_____________________________________________________________________________
-Int_t AliTPCtrackerMI::Clusters2Tracks() {
+Int_t AliTPCtracker::Clusters2Tracks() {
   //-----------------------------------------------------------------
   // This is a track finder.
   //-----------------------------------------------------------------
@@ -6909,7 +6909,7 @@ Int_t AliTPCtrackerMI::Clusters2Tracks() {
   return 0;
 }
 
-void AliTPCtrackerMI::Tracking(TObjArray * arr)
+void AliTPCtracker::Tracking(TObjArray * arr)
 {
   //
   // tracking of the seeds
@@ -6921,7 +6921,7 @@ void AliTPCtrackerMI::Tracking(TObjArray * arr)
   ParallelTracking(arr,63,0);
 }
 
-TObjArray * AliTPCtrackerMI::Tracking(Int_t seedtype, Int_t i1, Int_t i2, Float_t cuts[4], Float_t dy, Int_t dsec)
+TObjArray * AliTPCtracker::Tracking(Int_t seedtype, Int_t i1, Int_t i2, Float_t cuts[4], Float_t dy, Int_t dsec)
 {
   //
   //
@@ -6950,7 +6950,7 @@ TObjArray * AliTPCtrackerMI::Tracking(Int_t seedtype, Int_t i1, Int_t i2, Float_
   return arr;
 }
 
-TObjArray * AliTPCtrackerMI::Tracking()
+TObjArray * AliTPCtracker::Tracking()
 {
   // tracking
   //
@@ -7134,7 +7134,7 @@ TObjArray * AliTPCtrackerMI::Tracking()
 }
 
 
-TObjArray * AliTPCtrackerMI::TrackingSpecial()
+TObjArray * AliTPCtracker::TrackingSpecial()
 {
   //
   // seeding adjusted for laser and cosmic tests - short tracks with big inclination angle
@@ -7177,7 +7177,7 @@ TObjArray * AliTPCtrackerMI::TrackingSpecial()
 }
 
 
-void AliTPCtrackerMI::SumTracks(TObjArray *arr1,TObjArray *&arr2)
+void AliTPCtracker::SumTracks(TObjArray *arr1,TObjArray *&arr2)
 {
   //
   //sum tracks to common container
@@ -7223,7 +7223,7 @@ void AliTPCtrackerMI::SumTracks(TObjArray *arr1,TObjArray *&arr2)
 
 
 
-void  AliTPCtrackerMI::ParallelTracking(TObjArray *const arr, Int_t rfirst, Int_t rlast)
+void  AliTPCtracker::ParallelTracking(TObjArray *const arr, Int_t rfirst, Int_t rlast)
 {
   //
   // try to track in parralel
@@ -7274,7 +7274,7 @@ void  AliTPCtrackerMI::ParallelTracking(TObjArray *const arr, Int_t rfirst, Int_
   }    
 }
 
-void AliTPCtrackerMI::PrepareForBackProlongation(const TObjArray *const arr,Float_t fac) const
+void AliTPCtracker::PrepareForBackProlongation(const TObjArray *const arr,Float_t fac) const
 {
   //
   //
@@ -7310,7 +7310,7 @@ void AliTPCtrackerMI::PrepareForBackProlongation(const TObjArray *const arr,Floa
 
 
 }
-void AliTPCtrackerMI::PrepareForProlongation(TObjArray *const arr, Float_t fac) const
+void AliTPCtracker::PrepareForProlongation(TObjArray *const arr, Float_t fac) const
 {
   //
   //
@@ -7329,7 +7329,7 @@ void AliTPCtrackerMI::PrepareForProlongation(TObjArray *const arr, Float_t fac)
 
 }
 
-Int_t AliTPCtrackerMI::PropagateBack(const TObjArray *const arr)
+Int_t AliTPCtracker::Propa