Updates for new TOF data structure: Setters (F. Noferini)
authorzampolli <chiara.zampolli@cern.ch>
Tue, 19 Aug 2014 07:42:17 +0000 (09:42 +0200)
committerzampolli <chiara.zampolli@cern.ch>
Tue, 19 Aug 2014 07:42:17 +0000 (09:42 +0200)
STEER/ESD/AliESDTOFHit.h
STEER/ESD/AliESDtrack.cxx
STEER/ESD/AliESDtrack.h

index 360fe18..348d0a5 100644 (file)
@@ -39,7 +39,7 @@ class AliESDTOFHit : public AliVTOFHit
      virtual Int_t   GetTOFchannel() const {return fTOFchannel;};
      virtual Double_t GetTime() const {return fTime;}
      virtual Int_t   GetTOFLabel(Int_t i) const {return (i >=0 && i < 3) ? fTOFLabel[i] : -1;}
-     virtual void    SetTOFLabel(Int_t label[3])  {for(Int_t i=3;i--;) fTOFLabel[i] = label[i];}
+     virtual void    SetTOFLabel(const Int_t label[3])  {for(Int_t i=3;i--;) fTOFLabel[i] = label[i];}
      Float_t GetR() const {return fR;};
      Float_t GetZ() const {return fZ;};
      Float_t GetPhi() const {return fPhi;};
index 12c98c5..0f558ea 100644 (file)
@@ -2360,9 +2360,19 @@ void AliESDtrack::SetTOFpid(const Double_t *p) {
 
 //_______________________________________________________________________
 void AliESDtrack::SetTOFLabel(const Int_t *p) {  
-  // Sets  (in TOF)
-  if(!fTOFLabel) fTOFLabel = new Int_t[3]; 
-  for (Int_t i=0; i<3; i++) fTOFLabel[i]=p[i];
+
+  if(fNtofClusters>0){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+
+    if(hit) hit->SetTOFLabel(p);
+  }
+  else{
+    // Sets  (in TOF)
+    if(!fTOFLabel) fTOFLabel = new Int_t[3]; 
+    for (Int_t i=0; i<3; i++) fTOFLabel[i]=p[i];
+  }
 }
 
 //_______________________________________________________________________
@@ -3063,6 +3073,137 @@ void AliESDtrack::AddTOFcluster(Int_t icl)
 }
 
 //____________________________________________
+void AliESDtrack::SetTOFsignal(Double_t tof)
+{
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetTime(tof);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFsignal=tof;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFCalChannel(Int_t index){
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetTOFchannel(index);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFCalChannel=index;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFsignalToT(Double_t ToT){
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetTOT(ToT);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFsignalToT=ToT;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFsignalRaw(Double_t tof){
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetTimeRaw(tof);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFsignalRaw=tof;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFsignalDz(Double_t dz){
+  Int_t index = -1;
+  AliESDTOFCluster *tofcl;
+
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+
+    for(Int_t i=0;i < tofcl->GetNMatchableTracks();i++){
+      if(tofcl->GetTrackIndex(i) == GetID()) index = i;
+    }
+
+  }
+  if(index > -1){
+    AliESDTOFMatch* match = tofcl->GetTOFMatch(index);
+    if(match){
+      match->SetDz(dz);
+    }
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFsignalDz=dz;
+  }
+
+
+}
+//____________________________________________
+void AliESDtrack::SetTOFsignalDx(Double_t dx){
+  Int_t index = -1;
+  AliESDTOFCluster *tofcl;
+
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+
+    for(Int_t i=0;i < tofcl->GetNMatchableTracks();i++){
+      if(tofcl->GetTrackIndex(i) == GetID()) index = i;
+    }
+
+  }
+  if(index > -1){
+    AliESDTOFMatch* match = tofcl->GetTOFMatch(index);
+    if(match){
+      match->SetDx(dx);
+    }
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFsignalDx=dx;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFDeltaBC(Short_t deltaBC){
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetDeltaBC(deltaBC);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFdeltaBC=deltaBC;
+  }
+}
+//____________________________________________
+void AliESDtrack::SetTOFL0L1(Short_t l0l1){
+  if(fNtofClusters>0 && GetESDEvent()){
+    TClonesArray *tofclArray = GetESDEvent()->GetESDTOFClusters();
+    AliESDTOFCluster *tofcl = (AliESDTOFCluster *) tofclArray->At(fTOFcluster[0]);
+    AliESDTOFHit* hit = tofcl->GetTOFHit(0);
+    if(hit) hit->SetL0L1Latency(l0l1);
+  }
+  else{
+    if(fNtofClusters>0) AliInfo("No AliESDEvent available here!\n");
+    fTOFl0l1=l0l1;
+  }
+}
+//____________________________________________
 Double_t AliESDtrack::GetTOFsignal() const 
 {
   if(fNtofClusters>0 && GetESDEvent()){
index 1970aed..e7daf9b 100644 (file)
@@ -324,19 +324,19 @@ public:
   void    SortTOFcluster(); // RS? Not to be used?
   void    ReMapTOFcluster(Int_t ncl,Int_t *mapping);  // RS? Not to be used?
 
-  void    SetTOFsignal(Double_t tof) {fTOFsignal=tof;}
+  void    SetTOFsignal(Double_t tof);
   Double_t GetTOFsignal() const;
-  void    SetTOFsignalToT(Double_t ToT) {fTOFsignalToT=ToT;}
+  void    SetTOFsignalToT(Double_t ToT);
   Double_t GetTOFsignalToT() const;
-  void    SetTOFsignalRaw(Double_t tof) {fTOFsignalRaw=tof;}
+  void    SetTOFsignalRaw(Double_t tof);
   Double_t GetTOFsignalRaw() const;
-  void    SetTOFsignalDz(Double_t dz) {fTOFsignalDz=dz;}
+  void    SetTOFsignalDz(Double_t dz);
   Double_t GetTOFsignalDz() const;
-  void    SetTOFsignalDx(Double_t dx) {fTOFsignalDx=dx;}
+  void    SetTOFsignalDx(Double_t dx);
   Double_t GetTOFsignalDx() const;
-  void     SetTOFDeltaBC(Short_t deltaBC) {fTOFdeltaBC=deltaBC;};
+  void     SetTOFDeltaBC(Short_t deltaBC);
   Short_t  GetTOFDeltaBC() const;
-  void     SetTOFL0L1(Short_t l0l1) {fTOFl0l1=l0l1;};
+  void     SetTOFL0L1(Short_t l0l1);
   Short_t  GetTOFL0L1() const;
   Double_t GetTOFchi2() const {return fTOFchi2;};
   void    SetTOFpid(const Double_t *p);
@@ -348,7 +348,7 @@ public:
   Int_t   GetTOFCalChannel() const;
   Int_t   GetTOFcluster() const;
   void    SetTOFcluster(Int_t index) {fTOFindex=index;}
-  void    SetTOFCalChannel(Int_t index) {fTOFCalChannel=index;}
+  void    SetTOFCalChannel(Int_t index);
   Int_t   GetTOFclusterN() const;
   Bool_t  IsTOFHitAlreadyMatched() const;
   void    SetTOFsignalTunedOnData(Double_t signal){fTOFsignalTuned=signal;}