]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add 3D position info for casc, V0 decays - debugging
authorddobrigk <david.dobrigkeit.chinellato@cern.ch>
Mon, 23 Jun 2014 13:53:43 +0000 (10:53 -0300)
committerddobrigk <david.dobrigkeit.chinellato@cern.ch>
Mon, 23 Jun 2014 13:54:32 +0000 (10:54 -0300)
PWGLF/STRANGENESS/Cascades/AliAnalysisTaskExtractCascade.cxx
PWGLF/STRANGENESS/Cascades/AliAnalysisTaskExtractCascade.h

index faaeb59720101f296651e6cd1550df1a7ed89a96..45a37917f0313dc621bccf38b5bab35f67154614 100644 (file)
@@ -104,6 +104,7 @@ AliAnalysisTaskExtractCascade::AliAnalysisTaskExtractCascade()
    fkpAVertexSelection( kFALSE ),
    fEtaRefMult ( 0.5 ),
    fkRunVertexers ( kFALSE ),
+   fkDebugMode (kTRUE),
 //------------------------------------------------
 // Tree Variables
 //------------------------------------------------
@@ -179,6 +180,14 @@ fTreeCascVarBachPx(0),
 fTreeCascVarBachPy(0),
 fTreeCascVarBachPz(0),
 
+fTreeCascVarV0DecayX(0),
+fTreeCascVarV0DecayY(0),
+fTreeCascVarV0DecayZ(0),
+
+fTreeCascVarCascadeDecayX(0),
+fTreeCascVarCascadeDecayY(0),
+fTreeCascVarCascadeDecayZ(0),
+
 //------------------------------------------------
 // HISTOGRAMS
 // --- Filled on an Event-by-event basis
@@ -240,6 +249,7 @@ AliAnalysisTaskExtractCascade::AliAnalysisTaskExtractCascade(const char *name)
    fkpAVertexSelection( kFALSE ),
    fEtaRefMult ( 0.5 ),
    fkRunVertexers ( kFALSE ),
+   fkDebugMode (kTRUE),
 //------------------------------------------------
 // Tree Variables
 //------------------------------------------------
@@ -315,6 +325,15 @@ AliAnalysisTaskExtractCascade::AliAnalysisTaskExtractCascade(const char *name)
     fTreeCascVarBachPy(0),
     fTreeCascVarBachPz(0),
 
+    fTreeCascVarV0DecayX(0),
+    fTreeCascVarV0DecayY(0),
+    fTreeCascVarV0DecayZ(0),
+
+    fTreeCascVarCascadeDecayX(0),
+    fTreeCascVarCascadeDecayY(0),
+    fTreeCascVarCascadeDecayZ(0),
+
+
 //------------------------------------------------
 // HISTOGRAMS
 // --- Filled on an Event-by-event basis
@@ -488,26 +507,39 @@ void AliAnalysisTaskExtractCascade::UserCreateOutputObjects()
 /*29*/         fTreeCascade->Branch("fTreeCascVarkITSRefitPositive",&fTreeCascVarkITSRefitPositive,"fTreeCascVarkITSRefitPositive/O");
 
     //-----------Debugging information----------------
-    //Part A: Event-by-event, run-by-run debugging
-    fTreeCascade->Branch("fTreeCascVarRunNumber",&fTreeCascVarRunNumber,"fTreeCascVarRunNumber/I");
-    fTreeCascade->Branch("fTreeCascVarEventNumber",&fTreeCascVarEventNumber,"fTreeCascVarEventNumber/l");
-    
-    //Part B: Shared Clusters for all daughter tracks
-    fTreeCascade->Branch("fTreeCascVarNegSharedClusters",&fTreeCascVarNegSharedClusters,"fTreeCascVarNegSharedClusters/I");
-    fTreeCascade->Branch("fTreeCascVarPosSharedClusters",&fTreeCascVarPosSharedClusters,"fTreeCascVarPosSharedClusters/I");
-    fTreeCascade->Branch("fTreeCascVarBachSharedClusters",&fTreeCascVarBachSharedClusters,"fTreeCascVarBachSharedClusters/I");
-    
-    //Part C: All Momenta of all daughters
-    fTreeCascade->Branch("fTreeCascVarNegPx",&fTreeCascVarNegPx,"fTreeCascVarNegPx/F");
-    fTreeCascade->Branch("fTreeCascVarNegPy",&fTreeCascVarNegPy,"fTreeCascVarNegPy/F");
-    fTreeCascade->Branch("fTreeCascVarNegPz",&fTreeCascVarNegPz,"fTreeCascVarNegPz/F");
-    fTreeCascade->Branch("fTreeCascVarPosPx",&fTreeCascVarPosPx,"fTreeCascVarPosPx/F");
-    fTreeCascade->Branch("fTreeCascVarPosPy",&fTreeCascVarPosPy,"fTreeCascVarPosPy/F");
-    fTreeCascade->Branch("fTreeCascVarPosPz",&fTreeCascVarPosPz,"fTreeCascVarPosPz/F");
-    fTreeCascade->Branch("fTreeCascVarBachPx",&fTreeCascVarBachPx,"fTreeCascVarBachPx/F");
-    fTreeCascade->Branch("fTreeCascVarBachPy",&fTreeCascVarBachPy,"fTreeCascVarBachPy/F");
-    fTreeCascade->Branch("fTreeCascVarBachPz",&fTreeCascVarBachPz,"fTreeCascVarBachPz/F");
-    //------------------------------------------------
+
+  if(fkDebugMode){ 
+      //Only save this if requested - can be turned off
+
+      //Part A: Event-by-event, run-by-run debugging
+      fTreeCascade->Branch("fTreeCascVarRunNumber",&fTreeCascVarRunNumber,"fTreeCascVarRunNumber/I");
+      fTreeCascade->Branch("fTreeCascVarEventNumber",&fTreeCascVarEventNumber,"fTreeCascVarEventNumber/l");
+      
+      //Part B: Shared Clusters for all daughter tracks
+      fTreeCascade->Branch("fTreeCascVarNegSharedClusters",&fTreeCascVarNegSharedClusters,"fTreeCascVarNegSharedClusters/I");
+      fTreeCascade->Branch("fTreeCascVarPosSharedClusters",&fTreeCascVarPosSharedClusters,"fTreeCascVarPosSharedClusters/I");
+      fTreeCascade->Branch("fTreeCascVarBachSharedClusters",&fTreeCascVarBachSharedClusters,"fTreeCascVarBachSharedClusters/I");
+      
+      //Part C: All Momenta of all daughters
+      fTreeCascade->Branch("fTreeCascVarNegPx",&fTreeCascVarNegPx,"fTreeCascVarNegPx/F");
+      fTreeCascade->Branch("fTreeCascVarNegPy",&fTreeCascVarNegPy,"fTreeCascVarNegPy/F");
+      fTreeCascade->Branch("fTreeCascVarNegPz",&fTreeCascVarNegPz,"fTreeCascVarNegPz/F");
+      fTreeCascade->Branch("fTreeCascVarPosPx",&fTreeCascVarPosPx,"fTreeCascVarPosPx/F");
+      fTreeCascade->Branch("fTreeCascVarPosPy",&fTreeCascVarPosPy,"fTreeCascVarPosPy/F");
+      fTreeCascade->Branch("fTreeCascVarPosPz",&fTreeCascVarPosPz,"fTreeCascVarPosPz/F");
+      fTreeCascade->Branch("fTreeCascVarBachPx",&fTreeCascVarBachPx,"fTreeCascVarBachPx/F");
+      fTreeCascade->Branch("fTreeCascVarBachPy",&fTreeCascVarBachPy,"fTreeCascVarBachPy/F");
+      fTreeCascade->Branch("fTreeCascVarBachPz",&fTreeCascVarBachPz,"fTreeCascVarBachPz/F");
+      
+      //Part D: Decay positions
+      fTreeCascade->Branch("fTreeCascVarV0DecayX",&fTreeCascVarV0DecayX,"fTreeCascVarV0DecayX/F");
+      fTreeCascade->Branch("fTreeCascVarV0DecayY",&fTreeCascVarV0DecayY,"fTreeCascVarV0DecayY/F");
+      fTreeCascade->Branch("fTreeCascVarV0DecayZ",&fTreeCascVarV0DecayZ,"fTreeCascVarV0DecayZ/F");
+      fTreeCascade->Branch("fTreeCascVarCascadeDecayX",&fTreeCascVarCascadeDecayX,"fTreeCascVarCascadeDecayX/F");
+      fTreeCascade->Branch("fTreeCascVarCascadeDecayY",&fTreeCascVarCascadeDecayY,"fTreeCascVarCascadeDecayY/F");
+      fTreeCascade->Branch("fTreeCascVarCascadeDecayZ",&fTreeCascVarCascadeDecayZ,"fTreeCascVarCascadeDecayZ/F");
+      //------------------------------------------------
+  }
     
 //------------------------------------------------
 // Particle Identification Setup
@@ -1146,6 +1178,10 @@ void AliAnalysisTaskExtractCascade::UserExec(Option_t *)
          xi->GetXYZcascade( lPosXi[0],  lPosXi[1], lPosXi[2] ); 
          lXiRadius                     = TMath::Sqrt( lPosXi[0]*lPosXi[0]  +  lPosXi[1]*lPosXi[1] );           
 
+    fTreeCascVarCascadeDecayX = lPosXi[0];
+    fTreeCascVarCascadeDecayY = lPosXi[1];
+    fTreeCascVarCascadeDecayZ = lPosXi[2];
+
                // - II.Step 3 : around the tracks : Bach + V0 (ESD)
                // ~ Necessary variables for ESDcascade data members coming from the ESDv0 part (inheritance)
                //-------------
@@ -1274,6 +1310,10 @@ void AliAnalysisTaskExtractCascade::UserExec(Option_t *)
          xi->GetXYZ( lPosV0Xi[0],  lPosV0Xi[1], lPosV0Xi[2] ); 
          lV0RadiusXi           = TMath::Sqrt( lPosV0Xi[0]*lPosV0Xi[0]  +  lPosV0Xi[1]*lPosV0Xi[1] );
        
+    fTreeCascVarV0DecayX = lPosV0Xi[0];
+    fTreeCascVarV0DecayY = lPosV0Xi[1];
+    fTreeCascVarV0DecayZ = lPosV0Xi[2];
+
          lDcaPosToPrimVertexXi         = TMath::Abs( pTrackXi  ->GetD( lBestPrimaryVtxPos[0], 
                                                                lBestPrimaryVtxPos[1], 
                                                                lMagneticField  )     ); 
index 506b0ebc7807dc162e115ff275ee749f6fe0b4b0..8ae5c47801179afde767f96d9ee0385548a36085 100644 (file)
@@ -63,6 +63,9 @@ class AliAnalysisTaskExtractCascade : public AliAnalysisTaskSE {
 //---------------------------------------------------------------------------------------
   //Task Configuration: Meant to enable quick re-execution of vertexer if needed
   void SetRunVertexers ( Bool_t lRunVertexers = kTRUE) { fkRunVertexers = lRunVertexers; }
+//---------------------------------------------------------------------------------------
+  //Set Debug Mode
+  void SetDebugMode ( Bool_t lDebugMode = kTRUE) { fkDebugMode = lDebugMode; }
 //---------------------------------------------------------------------------------------
 //Setters for the V0 Vertexer Parameters
   void SetV0VertexerMaxChisquare   ( Double_t lParameter ){ fV0VertexerSels[0] = lParameter; }
@@ -105,9 +108,11 @@ class AliAnalysisTaskExtractCascade : public AliAnalysisTaskSE {
   Double_t fEtaRefMult; //Reference multiplicity eta
   //Objects Controlling Task Behaviour: has to be streamed! 
   Bool_t    fkRunVertexers;           // if true, re-run vertexer with loose cuts. CARE MUST BE TAKEN in PbPb!
+  Bool_t    fkDebugMode; //Store extra debugging information in tree
   Double_t  fV0VertexerSels[7];        // Array to store the 7 values for the different selections V0 related
   Double_t  fCascadeVertexerSels[8];   // Array to store the 8 values for the different selections Casc. related
 
+
        //Double_t        fV0Sels[7];                     // Array to store the 7 values for the different selections V0 related
        //Double_t        fCascSels[8];                   // Array to store the 8 values for the different selections Casc. related
 
@@ -186,6 +191,13 @@ class AliAnalysisTaskExtractCascade : public AliAnalysisTaskSE {
     Float_t fTreeCascVarBachPx; //!
     Float_t fTreeCascVarBachPy; //!
     Float_t fTreeCascVarBachPz; //!
+
+    Float_t fTreeCascVarV0DecayX; //!
+    Float_t fTreeCascVarV0DecayY; //!
+    Float_t fTreeCascVarV0DecayZ; //!
+    Float_t fTreeCascVarCascadeDecayX; //!
+    Float_t fTreeCascVarCascadeDecayY; //!
+    Float_t fTreeCascVarCascadeDecayZ; //!
     
 //===========================================================================================
 //   Histograms