fkpAVertexSelection( kFALSE ),
fEtaRefMult ( 0.5 ),
fkRunVertexers ( kFALSE ),
+ fkDebugMode (kTRUE),
//------------------------------------------------
// Tree Variables
//------------------------------------------------
fTreeCascVarBachPy(0),
fTreeCascVarBachPz(0),
+fTreeCascVarV0DecayX(0),
+fTreeCascVarV0DecayY(0),
+fTreeCascVarV0DecayZ(0),
+
+fTreeCascVarCascadeDecayX(0),
+fTreeCascVarCascadeDecayY(0),
+fTreeCascVarCascadeDecayZ(0),
+
//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
fkpAVertexSelection( kFALSE ),
fEtaRefMult ( 0.5 ),
fkRunVertexers ( kFALSE ),
+ fkDebugMode (kTRUE),
//------------------------------------------------
// Tree Variables
//------------------------------------------------
fTreeCascVarBachPy(0),
fTreeCascVarBachPz(0),
+ fTreeCascVarV0DecayX(0),
+ fTreeCascVarV0DecayY(0),
+ fTreeCascVarV0DecayZ(0),
+
+ fTreeCascVarCascadeDecayX(0),
+ fTreeCascVarCascadeDecayY(0),
+ fTreeCascVarCascadeDecayZ(0),
+
+
//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
/*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
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)
//-------------
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 ) );
//---------------------------------------------------------------------------------------
//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; }
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
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