]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSreconstruction.cxx
store also difference in local Y
[u/mrichter/AliRoot.git] / ITS / AliITSreconstruction.cxx
index 15d833aa99a07cade2cbbee84fdef63017d425f0..0e099239b85e9991eff1f2a7606237a5694063f7 100644 (file)
@@ -28,7 +28,8 @@
 #include "AliITSreconstruction.h"
 #include "AliITSgeom.h"
 
-
+using std::endl;
+using std::cout;
 ClassImp(AliITSreconstruction)
 
 //______________________________________________________________________
@@ -93,36 +94,12 @@ AliITSreconstruction::AliITSreconstruction(const char* filename):
     fRunLoader = AliRunLoader::Open(filename);
     if (fRunLoader == 0x0)
      {
-       Error("AliITSreconstruction","Can not load the session",filename);
+       Error("AliITSreconstruction","Can not load the session %s \n",filename);
        return;
      }
 
 }
 
-//______________________________________________________________________
-AliITSreconstruction::AliITSreconstruction(const AliITSreconstruction &rec):TTask(rec),
-fInit(rec.fInit),
-fEnt(rec.fEnt),
-fEnt0(rec.fEnt0),
-fDetTypeRec(rec.fDetTypeRec),
-fDfArp(rec.fDfArp),
-fITSgeom(rec.fITSgeom),
-fLoader(rec.fLoader),
-fRunLoader(rec.fRunLoader)
-{
-    // Copy constructor. 
-
-  
-}
-
-//______________________________________________________________________
-AliITSreconstruction& AliITSreconstruction::operator=(const AliITSreconstruction& source){
-    // Assignment operator. 
-  this->~AliITSreconstruction();
-  new(this) AliITSreconstruction(source);
-  return *this;
-
-}
 
 //______________________________________________________________________
 AliITSreconstruction::~AliITSreconstruction(){
@@ -141,7 +118,7 @@ Bool_t AliITSreconstruction::Init(){
     //   none.
     // Return:
     //    kTRUE if no errors initilizing this class occurse else kFALSE
-    Info("Init","");
+    Info("Init"," Init ITS reconstruction");
     if (fRunLoader == 0x0)
      {
        Error("Init","Run Loader is NULL");
@@ -161,23 +138,20 @@ Bool_t AliITSreconstruction::Init(){
     //fRunLoader->CdGAFile();
     fITSgeom = fLoader->GetITSgeom();
 
-    fDetTypeRec = new AliITSDetTypeRec(fLoader);
+    fDetTypeRec = new AliITSDetTypeRec();
+    fDetTypeRec->SetITSgeom(fITSgeom);
     fDetTypeRec->SetDefaults();
     fDet[0] = fDet[1] = fDet[2] = kTRUE;
     fEnt0 = 0;
 
-    //fEnt  = gAlice->GetEventsPerRun();
     fEnt = Int_t(fRunLoader->GetNumberOfEvents());
 
     fLoader->LoadDigits("read");
     fLoader->LoadRecPoints("recreate");
-    fLoader->LoadRawClusters("recreate");
     if (fLoader->TreeR() == 0x0) fLoader->MakeTree("R");
-    if (fLoader->TreeC() == 0x0) fLoader->MakeTree("C");
  
-    fDetTypeRec->MakeBranchR(0);
-    fDetTypeRec->MakeBranchC();
-    fDetTypeRec->SetTreeAddress();
+    fDetTypeRec->SetTreeAddressD(fLoader->TreeD());
+    fDetTypeRec->MakeBranchR(fLoader->TreeR());
     fDetTypeRec->SetTreeAddressR(fLoader->TreeR());
 
     fInit = InitRec();
@@ -195,51 +169,11 @@ Bool_t AliITSreconstruction::InitRec(){
     //      none.
     // Return:
     //      none.
-  /*
-  //AliITSDetType *idt;
-  fDetTypeRec->SetLoader(fLoader);
-    // SPD
-  if(fDet[kSPD]){
-    Info("InitRec","SPD");
-    //idt = fITS->DetType(kSPD);
-    AliITSsegmentationSPD *segSPD = (AliITSsegmentationSPD*)fDetTypeRec->GetSegmentationModel(0);
-      TClonesArray *digSPD = fDetTypeRec->DigitsAddress(kSPD);
-      TClonesArray *recpSPD = fDetTypeRec->ClustersAddress(kSPD);
-      Info("InitRec","idt = %#x; digSPD = %#x; recpSPD = %#x",fDetTypeRec,digSPD,recpSPD);
-      AliITSClusterFinderSPD *recSPD = new AliITSClusterFinderSPD(segSPD,digSPD,recpSPD);
-      fDetTypeRec->SetReconstructionModel(kSPD,recSPD);
-    } // end if fDet[kSPD].
-  // SDD
-  if(fDet[kSDD]){
-    Info("InitRec","SDD");
-    //    idt = fITS->DetType(kSDD);
-    AliITSsegmentationSDD *segSDD = (AliITSsegmentationSDD*)
-      fDetTypeRec->GetSegmentationModel(1);
-    AliITSresponseSDD *resSDD = (AliITSresponseSDD*)
-      fDetTypeRec->GetCalibrationModel(fDetTypeRec->GetITSgeom()->GetStartSDD()); 
-    TClonesArray *digSDD = fDetTypeRec->DigitsAddress(kSDD);
-    TClonesArray *recpSDD = fDetTypeRec->ClustersAddress(kSDD);
-    AliITSClusterFinderSDD *recSDD =new AliITSClusterFinderSDD(segSDD,
-                                                              resSDD,
-                                                              digSDD,recpSDD);
-    fDetTypeRec->SetReconstructionModel(kSDD,recSDD);
-  } // end if fDet[kSDD]
-    // SSD
-  if(fDet[kSSD]){
-    Info("InitRec","SSD");
-    //idt = fITS->DetType(kSSD);
-    AliITSsegmentationSSD *segSSD = (AliITSsegmentationSSD*)
-                                       fDetTypeRec->GetSegmentationModel(2);
-      TClonesArray *digSSD = fDetTypeRec->DigitsAddress(kSSD);
-      AliITSClusterFinderSSD *recSSD =new AliITSClusterFinderSSD(segSSD,
-                                                                digSSD);
-      recSSD->SetITSgeom(fDetTypeRec->GetITSgeom());
-      fDetTypeRec->SetReconstructionModel(kSSD,recSSD);
-    } // end if fDet[kSSD]
-  */
-  fDetTypeRec->SetDefaultClusterFinders();
-    Info("InitRec","    Done\n");
-    return kTRUE;
+
+
+  fDetTypeRec->SetDefaultClusterFindersV2();
+  Info("InitRec","    Done\n");
+  return kTRUE;
 }
 //______________________________________________________________________ 
 void AliITSreconstruction::Exec(const Option_t *opt){
@@ -252,8 +186,14 @@ void AliITSreconstruction::Exec(const Option_t *opt){
     //      none.
     Option_t *lopt;
     Int_t evnt;
-
-    if(strstr(opt,"All")||strstr(opt,"ALL")||strstr(opt,"ITS")||opt==0){
+    Bool_t condition =kFALSE;
+    if(opt){
+      if(strstr(opt,"All")||strstr(opt,"ALL")||strstr(opt,"ITS"))condition =kTRUE;
+    }
+    else{
+      condition = kTRUE;
+    }
+    if(condition){
       fDet[0] = fDet[1] = fDet[2] = kTRUE;
       lopt = "All";
     }else{
@@ -271,20 +211,16 @@ void AliITSreconstruction::Exec(const Option_t *opt){
     } // end if !fInit
     for(evnt=0;evnt<fEnt;evnt++)
      {
-      Info("Exec","");
+       //      Info("Exec","");
       Info("Exec","Processing Event %d",evnt);
-      Info("Exec","");
+      //      Info("Exec","");
 
       fRunLoader->GetEvent(evnt);
       if (fLoader->TreeR() == 0x0) fLoader->MakeTree("R");
       fDetTypeRec->MakeBranchR(0);
-      if (fLoader->TreeC() == 0x0){
-       fDetTypeRec->MakeTreeC();
-       fDetTypeRec->MakeBranchC();
-      }
       fDetTypeRec->SetTreeAddressR(fLoader->TreeR());
       fDetTypeRec->SetTreeAddressD(fLoader->TreeD());
-      fDetTypeRec->DigitsToRecPoints(evnt,0,lopt);
+      fDetTypeRec->DigitsToRecPoints(fLoader->TreeD(),fLoader->TreeR(),0,lopt);
     } // end for evnt
 }
 //______________________________________________________________________