<commit_before>///////////////////////////////////////////////////////////////////////////
//                                                                       //
// AliFemtoV0: special type of particle desling with the specifics       //
// of the V0 type of particle
//                                                                       //
///////////////////////////////////////////////////////////////////////////
#ifndef ALIFEMTOV0_H
#define ALIFEMTOV0_H

#include "AliFemtoTypes.h" //same as in AliFemtoTrack.h
#include "AliFmPhysicalHelixD.h" // Gael 12 Sept 02
#include "AliFemtoThreeVector.h"
#include "TBits.h"
#ifdef __ROOT__
#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
#include "StStrangeMuDstMaker/StV0MuDst.h"
#endif
#endif
/* Th stuff */
#include "AliFemtoHiddenInfo.h"
/***/

class AliFemtoV0 {
public:
  AliFemtoV0();
  AliFemtoV0(const AliFemtoV0& v); // copy constructor
#ifdef __ROOT__
#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
  AliFemtoV0( StV0MuDst&); // from strangeness V0 micro dst structure
#endif
#endif
  virtual ~AliFemtoV0(){if(fHiddenInfo) delete fHiddenInfo;}
  AliFemtoV0& operator=(const AliFemtoV0& aV0);


  float DecayLengthV0() const;       // 3-d decay distance						 
  AliFemtoThreeVector DecayVertexV0() const; // Coordinates of decay vertex				 
  AliFemtoThreeVector PrimaryVertex() const; // Coordinates of primary vertex				 
  float DecayVertexV0X() const; // Coordinates of decay vertex						 
  float DecayVertexV0Y() const; // Coordinates of decay vertex						 
  float DecayVertexV0Z() const; // Coordinates of decay vertex						 
  float DcaV0Daughters() const;      // DCA of v0 daughters at Decay vertex				 
  float DcaV0ToPrimVertex() const;   // DCA of v0 to primary vertex					 
  float DcaPosToPrimVertex() const;  // DCA of pos v0 daughter to pri vertex				 
  float DcaNegToPrimVertex() const;  // DCA of neg v0 daughter to pri vertex				 
  AliFemtoThreeVector MomPos() const;   // Momentum components of pos. daughter				 
  float MomPosX() const;   // Momentum components of pos. daughter					 
  float MomPosY() const;   // Momentum components of pos. daughter					 
  float MomPosZ() const;   // Momentum components of pos. daughter					 
  AliFemtoThreeVector MomNeg() const;   // Momentum components of neg. daughter				 
  float MomNegX() const;   // Momentum components of neg. daughter					 
  float MomNegY() const;   // Momentum components of neg. daughter					 
  float MomNegZ() const;   // Momentum components of neg. daughter					 
	
  float EtaPos() const;//Pseudorapidity V0
  float EtaNeg() const; //Pseudorapidity V0
  int TPCNclsPos() const;
  int TPCNclsNeg() const;
  const TBits& TPCclustersPos() const;
  const TBits& TPCclustersNeg() const;
  const TBits& TPCsharingPos() const;
  const TBits& TPCsharingNeg() const;
  int NdofPos() const;
  int NdofNeg() const;
  ulong StatusPos() const;
  ulong StatusNeg() const;
  
  
  int   TpcHitsPos() const;          // Number of TPC hits on pos. daughter				 
  int   TpcHitsNeg() const;          // Number of TPC hits on neg. daughter				 
  unsigned long TrackTopologyMapPos(unsigned int word) const;						 
  unsigned long TrackTopologyMapNeg(unsigned int word) const;						 
		        	                                                                         
  AliFemtoThreeVector MomV0() const ;    // Momentum components of V0	
  double EtaV0() const ;// Pseudorapidity V0
  double PhiV0() const ;// Phi V0

  double YV0() const;			 
  float MomV0X() const ;    // Momentum components of V0						 
  float MomV0Y() const ;    // Momentum components of V0						 
  float MomV0Z() const ;    // Momentum components of V0						 
  float AlphaV0() const ;             // Armenteros-Podolanski variable					 
  float PtArmV0() const ;            // Armenteros-Podolanski variable					 
  float ELambda() const ;             // Energy assuming lambda hypothesis				 
  float EK0Short() const ;            // Energy assuming k-short hypothesis				 
  float EPosProton() const ;          // Energy of pos. daughter assuming proton			 
  float EPosPion() const ;            // Energy of pos. daughter assuming pion				 
  float ENegProton() const ;          // Energy of neg. daughter assuming antiproton			 
  float ENegPion() const ;            // Energy of neg. daughter assuming pion				 
  float MassLambda() const ;          // Mass assuming lambda hypothesis				 
  float MassAntiLambda() const ;      // Mass assuming antilambda hypothesis				 
  float MassK0Short() const ;         // Mass assuming k-short hypothesis				 
  float RapLambda() const ;           // Rapidity assuming (anti) constlambda				 
  float RapK0Short() const ;          // Rapidity assuming k-short					 
  float CTauLambda() const ;          // Lifetime (ctau) const assuming (anti) constlambda		 
  float CTauK0Short() const ;         // Lifetime (ctau) const assuming k-short				 
  float PtV0() const ;                // Transverse momentum						 
  float PtotV0() const ;              // Total momentum			
  double CosPointingAngle() const;
  float PtPos() const ;               // Transverse momentum of pos. daughter				 
  float PtotPos() const ;             // Total momentum of pos. daughter				 
  float DedxPos() const;              // dedx of Positive track						 
  float NumdedxPos() const;	                                                                         
// number of hits in dE/dX track of pos. daughter--Gael04Fev 2002					 
  float ErrdedxPos() const;              								 
// error on dedx of Positive track--Gael04Fev 2002							 
  float LendedxPos() const;              								 
// Length of dE/dX track of pos. daughter--Gael04Fev 2002						 
  float PseudoRapPos() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
		        	                                                                         
  float PtNeg() const ;               // Transverse momentum of neg. daughter				 
  float PtotNeg() const ;             // Total momentum of neg. daughter				 
  float DedxNeg() const;              // dedx of Negative track						 
  float NumdedxNeg() const;	                                                                         
// number of hits in dE/dX track of neg. daughter--Gael04Fev 2002					 
  float ErrdedxNeg() const;              								 
// error on dedx of Negative track--Gael04Fev 2002							 
  float LendedxNeg() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
  float PseudoRapNeg() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
		        	                                                                         
  int   IdNeg() const;               // Id of negative track                			 
  int   IdPos() const;               // Id of positive track					 
  int   KeyNeg() const;               // Id of negative track				 
  int   KeyPos() const;               // Id of positive track

  float PosNSigmaTPCK() const ;
  float PosNSigmaTPCPi() const ;
  float PosNSigmaTPCP() const ;
  float NegNSigmaTPCK() const ;
  float NegNSigmaTPCPi() const ;
  float NegNSigmaTPCP() const ;

  float PosNSigmaTOFK() const ;
  float PosNSigmaTOFPi() const ;
  float PosNSigmaTOFP() const ;
  float NegNSigmaTOFK() const ;
  float NegNSigmaTOFPi() const ;
  float NegNSigmaTOFP() const ;



  bool OnFlyStatusV0() const;
				                                                                         
  const AliFmPhysicalHelixD& HelixPos() const; // Gael 12 Sept 02					 
  const AliFmPhysicalHelixD& HelixNeg() const; // Gael 12 Sept 02


  AliFemtoThreeVector NominalTpcEntrancePointPos() const;
  AliFemtoThreeVector NominalTpcExitPointPos() const;
  AliFemtoThreeVector NominalTpcEntrancePointNeg() const;
  AliFemtoThreeVector NominalTpcExitPointNeg() const;                                   

  void UpdateV0(); // Fills derived info
  void SetdecayLengthV0(const float x);  
  void SetdecayVertexV0(const AliFemtoThreeVector v);  
  void SetdecayVertexV0X(const float x);
  void SetdecayVertexV0Y(const float x);
  void SetdecayVertexV0Z(const float x);
  void SetdcaV0Daughters(const float x); 
  void SetdcaV0ToPrimVertex(const float x);  
  void SetdcaPosToPrimVertex(const float x); 
  void SetdcaNegToPrimVertex(const float x); 
  void SetmomPos(const AliFemtoThreeVector v);  
  void SetmomPosX(const float x);  
  void SetmomPosY(const float x);  
  void SetmomPosZ(const float x);  
  void SetmomNeg(const AliFemtoThreeVector v);  
  void SetmomNegX(const float x);  
  void SetmomNegY(const float x);  
  void SetmomNegZ(const float x);  

  void SetEtaPos(const float x);
  void SetEtaNeg(const float x); 
  void SetTPCNclsPos(const int x);
  void SetTPCNclsNeg(const int x);
  void SetTPCclustersPos(const TBits& x);
  void SetTPCclustersNeg(const TBits& x);
  void SetTPCsharingPos(const TBits& x);
  void SetTPCsharingNeg(const TBits& x);
  void SetNdofPos(const int x);
  void SetNdofNeg(const int x);
  void SetStatusPos(const ulong x);
  void SetStatusNeg(const ulong x);

  void SettpcHitsPos(const int& i);      
  void SettpcHitsNeg(const int& i);      

  void SetTrackTopologyMapPos(unsigned int word, const unsigned long& m);
  void SetTrackTopologyMapNeg(unsigned int word, const unsigned long& m);      
<commit_msg>Use unsigned long instead of non-existing ulong<commit_after>///////////////////////////////////////////////////////////////////////////
//                                                                       //
// AliFemtoV0: special type of particle desling with the specifics       //
// of the V0 type of particle
//                                                                       //
///////////////////////////////////////////////////////////////////////////
#ifndef ALIFEMTOV0_H
#define ALIFEMTOV0_H

#include "AliFemtoTypes.h" //same as in AliFemtoTrack.h
#include "AliFmPhysicalHelixD.h" // Gael 12 Sept 02
#include "AliFemtoThreeVector.h"
#include "TBits.h"
#ifdef __ROOT__
#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
#include "StStrangeMuDstMaker/StV0MuDst.h"
#endif
#endif
/* Th stuff */
#include "AliFemtoHiddenInfo.h"
/***/

class AliFemtoV0 {
public:
  AliFemtoV0();
  AliFemtoV0(const AliFemtoV0& v); // copy constructor
#ifdef __ROOT__
#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
  AliFemtoV0( StV0MuDst&); // from strangeness V0 micro dst structure
#endif
#endif
  virtual ~AliFemtoV0(){if(fHiddenInfo) delete fHiddenInfo;}
  AliFemtoV0& operator=(const AliFemtoV0& aV0);


  float DecayLengthV0() const;       // 3-d decay distance						 
  AliFemtoThreeVector DecayVertexV0() const; // Coordinates of decay vertex				 
  AliFemtoThreeVector PrimaryVertex() const; // Coordinates of primary vertex				 
  float DecayVertexV0X() const; // Coordinates of decay vertex						 
  float DecayVertexV0Y() const; // Coordinates of decay vertex						 
  float DecayVertexV0Z() const; // Coordinates of decay vertex						 
  float DcaV0Daughters() const;      // DCA of v0 daughters at Decay vertex				 
  float DcaV0ToPrimVertex() const;   // DCA of v0 to primary vertex					 
  float DcaPosToPrimVertex() const;  // DCA of pos v0 daughter to pri vertex				 
  float DcaNegToPrimVertex() const;  // DCA of neg v0 daughter to pri vertex				 
  AliFemtoThreeVector MomPos() const;   // Momentum components of pos. daughter				 
  float MomPosX() const;   // Momentum components of pos. daughter					 
  float MomPosY() const;   // Momentum components of pos. daughter					 
  float MomPosZ() const;   // Momentum components of pos. daughter					 
  AliFemtoThreeVector MomNeg() const;   // Momentum components of neg. daughter				 
  float MomNegX() const;   // Momentum components of neg. daughter					 
  float MomNegY() const;   // Momentum components of neg. daughter					 
  float MomNegZ() const;   // Momentum components of neg. daughter					 
	
  float EtaPos() const;//Pseudorapidity V0
  float EtaNeg() const; //Pseudorapidity V0
  int TPCNclsPos() const;
  int TPCNclsNeg() const;
  const TBits& TPCclustersPos() const;
  const TBits& TPCclustersNeg() const;
  const TBits& TPCsharingPos() const;
  const TBits& TPCsharingNeg() const;
  int NdofPos() const;
  int NdofNeg() const;
  unsigned long StatusPos() const;
  unsigned long StatusNeg() const;
  
  
  int   TpcHitsPos() const;          // Number of TPC hits on pos. daughter				 
  int   TpcHitsNeg() const;          // Number of TPC hits on neg. daughter				 
  unsigned long TrackTopologyMapPos(unsigned int word) const;						 
  unsigned long TrackTopologyMapNeg(unsigned int word) const;						 
		        	                                                                         
  AliFemtoThreeVector MomV0() const ;    // Momentum components of V0	
  double EtaV0() const ;// Pseudorapidity V0
  double PhiV0() const ;// Phi V0

  double YV0() const;			 
  float MomV0X() const ;    // Momentum components of V0						 
  float MomV0Y() const ;    // Momentum components of V0						 
  float MomV0Z() const ;    // Momentum components of V0						 
  float AlphaV0() const ;             // Armenteros-Podolanski variable					 
  float PtArmV0() const ;            // Armenteros-Podolanski variable					 
  float ELambda() const ;             // Energy assuming lambda hypothesis				 
  float EK0Short() const ;            // Energy assuming k-short hypothesis				 
  float EPosProton() const ;          // Energy of pos. daughter assuming proton			 
  float EPosPion() const ;            // Energy of pos. daughter assuming pion				 
  float ENegProton() const ;          // Energy of neg. daughter assuming antiproton			 
  float ENegPion() const ;            // Energy of neg. daughter assuming pion				 
  float MassLambda() const ;          // Mass assuming lambda hypothesis				 
  float MassAntiLambda() const ;      // Mass assuming antilambda hypothesis				 
  float MassK0Short() const ;         // Mass assuming k-short hypothesis				 
  float RapLambda() const ;           // Rapidity assuming (anti) constlambda				 
  float RapK0Short() const ;          // Rapidity assuming k-short					 
  float CTauLambda() const ;          // Lifetime (ctau) const assuming (anti) constlambda		 
  float CTauK0Short() const ;         // Lifetime (ctau) const assuming k-short				 
  float PtV0() const ;                // Transverse momentum						 
  float PtotV0() const ;              // Total momentum			
  double CosPointingAngle() const;
  float PtPos() const ;               // Transverse momentum of pos. daughter				 
  float PtotPos() const ;             // Total momentum of pos. daughter				 
  float DedxPos() const;              // dedx of Positive track						 
  float NumdedxPos() const;	                                                                         
// number of hits in dE/dX track of pos. daughter--Gael04Fev 2002					 
  float ErrdedxPos() const;              								 
// error on dedx of Positive track--Gael04Fev 2002							 
  float LendedxPos() const;              								 
// Length of dE/dX track of pos. daughter--Gael04Fev 2002						 
  float PseudoRapPos() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
		        	                                                                         
  float PtNeg() const ;               // Transverse momentum of neg. daughter				 
  float PtotNeg() const ;             // Total momentum of neg. daughter				 
  float DedxNeg() const;              // dedx of Negative track						 
  float NumdedxNeg() const;	                                                                         
// number of hits in dE/dX track of neg. daughter--Gael04Fev 2002					 
  float ErrdedxNeg() const;              								 
// error on dedx of Negative track--Gael04Fev 2002							 
  float LendedxNeg() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
  float PseudoRapNeg() const;              								 
// Length of dE/dX track of neg. daughter--Gael04Fev 2002						 
		        	                                                                         
  int   IdNeg() const;               // Id of negative track                			 
  int   IdPos() const;               // Id of positive track					 
  int   KeyNeg() const;               // Id of negative track				 
  int   KeyPos() const;               // Id of positive track

  float PosNSigmaTPCK() const ;
  float PosNSigmaTPCPi() const ;
  float PosNSigmaTPCP() const ;
  float NegNSigmaTPCK() const ;
  float NegNSigmaTPCPi() const ;
  float NegNSigmaTPCP() const ;

  float PosNSigmaTOFK() const ;
  float PosNSigmaTOFPi() const ;
  float PosNSigmaTOFP() const ;
  float NegNSigmaTOFK() const ;
  float NegNSigmaTOFPi() const ;
  float NegNSigmaTOFP() const ;



  bool OnFlyStatusV0() const;
				                                                                         
  const AliFmPhysicalHelixD& HelixPos() const; // Gael 12 Sept 02					 
  const AliFmPhysicalHelixD& HelixNeg() const; // Gael 12 Sept 02


  AliFemtoThreeVector NominalTpcEntrancePointPos() const;
  AliFemtoThreeVector NominalTpcExitPointPos() const;
  AliFemtoThreeVector NominalTpcEntrancePointNeg() const;
  AliFemtoThreeVector NominalTpcExitPointNeg() const;                                   

  void UpdateV0(); // Fills derived info
  void SetdecayLengthV0(const float x);  
  void SetdecayVertexV0(const AliFemtoThreeVector v);  
  void SetdecayVertexV0X(const float x);
  void SetdecayVertexV0Y(const float x);
  void SetdecayVertexV0Z(const float x);
  void SetdcaV0Daughters(const float x); 
  void SetdcaV0ToPrimVertex(const float x);  
  void SetdcaPosToPrimVertex(const float x); 
  void SetdcaNegToPrimVertex(const float x); 
  void SetmomPos(const AliFemtoThreeVector v);  
  void SetmomPosX(const float x);  
  void SetmomPosY(const float x);  
  void SetmomPosZ(const float x);  
  void SetmomNeg(const AliFemtoThreeVector v);  
  void SetmomNegX(const float x);  
  void SetmomNegY(const float x);  
  void SetmomNegZ(const float x);  

  void SetEtaPos(const float x);
  void SetEtaNeg(const float x); 
  void SetTPCNclsPos(const int x);
  void SetTPCNclsNeg(const int x);
  void SetTPCclustersPos(const TBits& x);
  void SetTPCclustersNeg(const TBits& x);
  void SetTPCsharingPos(const TBits& x);
  void SetTPCsharingNeg(const TBits& x);
  void SetNdofPos(const int x);
  void SetNdofNeg(const int x);
  void SetStatusPos(const unsigned long x);
  void SetStatusNeg(const unsigned long x);

  void SettpcHitsPos(const int& i);      
  void SettpcHitsNeg(const int& i);      

  void SetTrackTopologyMapPos(unsigned int word, const unsigned long& m);
  void SetTrackTopologyMapNeg(unsigned int word, const unsigned long& m);      

{'fraction_non_alphanumeric': 0.09028443592201982, 'fraction_numerical': 0.01278363694471077, 'mean_word_length': 1.9199066874027995, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 48, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '915728', 'n_tokens_mistral': 6252, 'n_tokens_neox': 5309, 'n_words': 1692}