]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New types added (kV0Radius, kV0Mass, kV0P, kV0Pt) needed for V0 monitoring (Enrico)
authorfbellini <fbellini@cern.ch>
Thu, 1 May 2014 07:24:49 +0000 (09:24 +0200)
committerfbellini <fbellini@cern.ch>
Thu, 1 May 2014 07:24:49 +0000 (09:24 +0200)
PWGLF/RESONANCES/AliRsnValueDaughter.cxx
PWGLF/RESONANCES/AliRsnValueDaughter.h

index e41a6631ecd555b44b22dceb2897130fa87c406e..46b6f3105ea859e6d71aecc35d95cf0bdb6df262 100644 (file)
@@ -106,7 +106,7 @@ const char *AliRsnValueDaughter::GetTypeName() const
       case kPt:                       return "SingleTrackPt";
       case kPtpc:                     return "SingleTrackPtpc";
       case kEta:                      return "SingleTrackEta";
-      case kY:                        return "SingleTrackY";
+      case kY:                         return "SingleTrackY";
       case kMass:                     return "SingleTrackMass";
       case kITSsignal:                return "SingleTrackITSsignal";
       case kTPCsignal:                 return "SingleTrackTPCsignal";
@@ -132,6 +132,10 @@ const char *AliRsnValueDaughter::GetTypeName() const
       case kPhi:                        return "SingleTrackPhi";
       case kPhiOuterTPC:                return "SingleTrackPhiOuterTPC";
       case kV0DCA:                     return "V0DCAToPrimaryVertex";
+      case kV0Radius:                  return "V0Radius";
+      case kV0Mass:                    return "V0Mass";
+      case kV0P:                       return "V0Momentum";
+      case kV0Pt:                      return "V0TransverseMomentum";
       case kDaughterDCA:               return "V0DaughterDCA";
       case kCosPointAng:               return "V0CosineOfPointingAngle";
       case kLambdaProtonPIDCut:         return "V0LambdaProtonNsigma";
@@ -204,11 +208,11 @@ Bool_t AliRsnValueDaughter::Eval(TObject *object)
    case kEta:
      fComputedValue = (fUseMCInfo ? refMC->Eta() : ref->Eta());
      return kTRUE;
-     
+
    case kY:
      fComputedValue = (fUseMCInfo ? refMC->Y() : ref->Y());
      return kTRUE;   
-
    case kMass:
      fComputedValue = (fUseMCInfo ? refMC->M() : ref->M());
      return kTRUE;
@@ -536,6 +540,72 @@ Bool_t AliRsnValueDaughter::Eval(TObject *object)
        return kFALSE;
      }          
 
+   case kV0Radius:
+     if(v0esd) {
+       Double_t v0Position[3]; // from $ALICE_ROOT/ANALYSIS/AliESDV0Cuts.cxx
+       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
+       v0ESD->GetXYZ(v0Position[0],v0Position[1],v0Position[2]);
+       fComputedValue = TMath::Sqrt(TMath::Power(v0Position[0],2) + TMath::Power(v0Position[1],2));
+       return kTRUE;
+      }
+     if(v0aod) {
+        AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
+       fComputedValue = v0AOD->RadiusV0();
+       return kTRUE;
+     }
+     else {
+       fComputedValue = -999;
+       return kFALSE;
+     }          
+
+   case kV0Mass:
+     if(v0esd) {
+       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
+       fComputedValue = v0ESD->GetEffMass();
+       return kTRUE;
+     }
+     if(v0aod) {
+       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
+       fComputedValue = v0AOD->MassLambda();
+       return kTRUE;
+     }
+     else {
+       fComputedValue = -999;
+       return kFALSE;
+     }  
+        
+   case kV0P:
+     if(v0esd) {
+       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
+       fComputedValue = v0ESD->P();
+       return kTRUE;
+     }
+     if(v0aod) {
+       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
+       fComputedValue = v0AOD->Ptot2V0();
+       return kTRUE;
+     }
+     else {
+       fComputedValue = -999;
+       return kFALSE;
+     }          
+
+   case kV0Pt:
+     if(v0esd) {
+       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
+       fComputedValue = v0ESD->Pt();
+       return kTRUE;
+     }
+     if(v0aod) {
+       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
+       fComputedValue = v0AOD->Pt2V0();
+       return kTRUE;
+     }
+     else {
+       fComputedValue = -999;
+       return kFALSE;
+     }          
+
    case kDaughterDCA:
      if(v0esd) {
        AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
@@ -560,7 +630,8 @@ Bool_t AliRsnValueDaughter::Eval(TObject *object)
      }
      if(v0aod) {
        AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
-       fComputedValue = TMath::Cos(v0AOD->OpenAngleV0());
+       AliAODVertex *vertex = fEvent->GetRefAOD()->GetPrimaryVertex();
+       fComputedValue = v0AOD->CosPointingAngle(vertex);
        return kTRUE;
      }
      else {
index 1626d4fbfbfaf49f32749e2f8c3dc808d95c3595..72f445a5fe085dbd3b248ea63e125c1bd0805e72 100644 (file)
@@ -46,6 +46,10 @@ public:
       kPhi,        // azimuthal angle at vertex
       kPhiOuterTPC,// azimuthal angle at TPC outer radius
       kV0DCA,       // V0 DCA 
+      kV0Radius,       // V0 radius
+      kV0Mass,       // V0 mass 
+      kV0P,       // V0 momentum
+      kV0Pt,       // V0 transverse momentum
       kDaughterDCA, // DCA of V0 Daughters
       kCosPointAng, // V0 Cosing of Pointing Angle
       kLambdaProtonPIDCut,         //V0 - Lambda number of sigmas proton