Implemented handy getters + renamed some of the enums to avoid conflicts with root...
authormfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Apr 2012 07:29:02 +0000 (07:29 +0000)
committermfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Apr 2012 07:29:02 +0000 (07:29 +0000)
PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAOD.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODHistoManager.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODHistoManager.h
PWGLF/SPECTRA/PiKaPr/TestAOD/Histograms.h

index 09ba925..8b46e9f 100644 (file)
@@ -70,9 +70,9 @@ Bool_t AliAnalysisTaskSpectraAOD::CheckYCut(AODParticleSpecies_t species, AliAOD
   // check if the rapidity is within the set range\r
   // note: masses are hardcoded for now. we could look them up in the pdg database, but that would mean accecing it 100k+ times per run ...\r
   Double_t y;\r
-  if (species == kProton) { y = track->Y(9.38271999999999995e-01); }\r
-  if ( species == kKaon ) { y = track->Y(4.93676999999999977e-01); }\r
-  if ( species == kPion)  { y = track->Y(1.39570000000000000e-01); }\r
+  if (species == kSpProton) { y = track->Y(9.38271999999999995e-01); }\r
+  if ( species == kSpKaon ) { y = track->Y(4.93676999999999977e-01); }\r
+  if ( species == kSpPion)  { y = track->Y(1.39570000000000000e-01); }\r
   if (TMath::Abs(y) > fYCut || y < -998.) return kFALSE;\r
   return kTRUE;\r
 }\r
@@ -242,17 +242,17 @@ void AliAnalysisTaskSpectraAOD::UserExec(Option_t *)
        \r
          \r
          if( ( nsigmaTPCTOFkKaon < nsigmaTPCTOFkPion ) && ( nsigmaTPCTOFkKaon < nsigmaTPCTOFkProton )) { \r
-           if ((nsigmaTPCTOFkKaon > fNSigmaPID) || (!CheckYCut(kKaon, track) ) ) continue;\r
+           if ((nsigmaTPCTOFkKaon > fNSigmaPID) || (!CheckYCut(kSpKaon, track) ) ) continue;\r
            if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaKaonPlus)->Fill(track->Pt(),d[0]); } \r
            else { fHistMan->GetPtHistogram(kHistPtRecSigmaKaonMinus)->Fill(track->Pt(),d[0]); } \r
          }\r
          if( ( nsigmaTPCTOFkProton < nsigmaTPCTOFkKaon ) && ( nsigmaTPCTOFkProton < nsigmaTPCTOFkPion ) ) {\r
-           if ( nsigmaTPCTOFkProton > fNSigmaPID || (!CheckYCut(kProton, track) ) )  continue;\r
+           if ( nsigmaTPCTOFkProton > fNSigmaPID || (!CheckYCut(kSpProton, track) ) )  continue;\r
            if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaProtonPlus)->Fill(track->Pt(),d[0]); }\r
            else { fHistMan->GetPtHistogram(kHistPtRecSigmaProtonMinus)->Fill(track->Pt(),d[0]); }\r
          }\r
          if( (nsigmaTPCTOFkPion < nsigmaTPCTOFkProton ) && ( nsigmaTPCTOFkPion < nsigmaTPCTOFkKaon ) ) {\r
-           if (nsigmaTPCTOFkPion > fNSigmaPID || (!CheckYCut(kPion, track) ) ) continue;\r
+           if (nsigmaTPCTOFkPion > fNSigmaPID || (!CheckYCut(kSpPion, track) ) ) continue;\r
            if ( track->Charge() > 0 )  { fHistMan->GetPtHistogram(kHistPtRecSigmaPionPlus)->Fill(track->Pt(),d[0]); }\r
            else  { fHistMan->GetPtHistogram(kHistPtRecSigmaPionMinus)->Fill(track->Pt(),d[0]); }\r
          }\r
@@ -299,17 +299,17 @@ void AliAnalysisTaskSpectraAOD::UserExec(Option_t *)
              // primaries, sigma pid \r
              if (partMC->IsPhysicalPrimary()) { \r
                if( ( nsigmaTPCTOFkKaon < nsigmaTPCTOFkPion ) && ( nsigmaTPCTOFkKaon < nsigmaTPCTOFkProton ) ) {\r
-                 if ( (nsigmaTPCTOFkKaon > fNSigmaPID ) || (!CheckYCut(kKaon, track) ) ) continue; \r
+                 if ( (nsigmaTPCTOFkKaon > fNSigmaPID ) || (!CheckYCut(kSpKaon, track) ) ) continue; \r
                  if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryKaonPlus)->Fill(track->Pt(),d[0]); } \r
                  else { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryKaonMinus)->Fill(track->Pt(),d[0]); } \r
                }\r
                if( ( nsigmaTPCTOFkProton < nsigmaTPCTOFkKaon ) && ( nsigmaTPCTOFkProton < nsigmaTPCTOFkPion ) ) {\r
-                 if ( (nsigmaTPCTOFkProton > fNSigmaPID ) || (!CheckYCut(kProton, track) ) ) continue;\r
+                 if ( (nsigmaTPCTOFkProton > fNSigmaPID ) || (!CheckYCut(kSpProton, track) ) ) continue;\r
                  if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryProtonPlus)->Fill(track->Pt(),d[0]); }\r
                  else { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryProtonMinus)->Fill(track->Pt(),d[0]); }\r
                }\r
                if( (nsigmaTPCTOFkPion < nsigmaTPCTOFkProton ) && ( nsigmaTPCTOFkPion < nsigmaTPCTOFkKaon ) ) {\r
-                 if ( ( nsigmaTPCTOFkPion > fNSigmaPID )  || (!CheckYCut(kPion, track) ) ) continue;\r
+                 if ( ( nsigmaTPCTOFkPion > fNSigmaPID )  || (!CheckYCut(kSpPion, track) ) ) continue;\r
                  if ( track->Charge() > 0 )  { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryPionPlus)->Fill(track->Pt(),d[0]); }\r
                  else  { fHistMan->GetPtHistogram(kHistPtRecSigmaPrimaryPionMinus)->Fill(track->Pt(),d[0]); }\r
                }\r
@@ -335,34 +335,34 @@ void AliAnalysisTaskSpectraAOD::UserExec(Option_t *)
                //codemoth==3222 || codemoth==3312 || codemoth==3322 || codemoth==3334){//K0_S, K0_L, K^+-,lambda, sigma0,sigma+,xi-,xi0, omega\r
                if(mfl==3){//strangeness\r
                  if( ( nsigmaTPCkKaon < nsigmaTPCkPion ) && ( nsigmaTPCkKaon < nsigmaTPCkProton ) ) { \r
-                   if ( (nsigmaTPCkKaon > fNSigmaPID )  || (!CheckYCut(kKaon, track) ) ) continue;\r
+                   if ( (nsigmaTPCkKaon > fNSigmaPID )  || (!CheckYCut(kSpKaon, track) ) ) continue;\r
                    if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayKaonPlus)->Fill(track->Pt(),d[0]); } \r
                    else { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayKaonMinus)->Fill(track->Pt(),d[0]); } \r
                  }\r
                  if( ( nsigmaTPCkProton < nsigmaTPCkKaon ) && ( nsigmaTPCkProton < nsigmaTPCkPion ) ) {\r
-                   if ( (nsigmaTPCkProton > fNSigmaPID )  || (!CheckYCut(kProton, track) ) ) continue;\r
+                   if ( (nsigmaTPCkProton > fNSigmaPID )  || (!CheckYCut(kSpProton, track) ) ) continue;\r
                    if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayProtonPlus)->Fill(track->Pt(),d[0]); }\r
                    else { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayProtonMinus)->Fill(track->Pt(),d[0]); }\r
                  }\r
                  if( (nsigmaTPCkPion < nsigmaTPCkProton ) && ( nsigmaTPCkPion < nsigmaTPCkKaon ) ) {\r
-                   if ( ( nsigmaTPCkPion > fNSigmaPID )  || (!CheckYCut(kPion, track) ) ) continue;\r
+                   if ( ( nsigmaTPCkPion > fNSigmaPID )  || (!CheckYCut(kSpPion, track) ) ) continue;\r
                    if ( track->Charge() > 0 )  { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayPionPlus)->Fill(track->Pt(),d[0]); }\r
                    else  { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryWeakDecayPionMinus)->Fill(track->Pt(),d[0]); }\r
                  }\r
                }//end if strangeness\r
                else{//material\r
                  if( ( nsigmaTPCkKaon < nsigmaTPCkPion ) && ( nsigmaTPCkKaon < nsigmaTPCkProton ) ) { \r
-                   if ( (nsigmaTPCkKaon > fNSigmaPID )  || (!CheckYCut(kKaon, track) ) ) continue;\r
+                   if ( (nsigmaTPCkKaon > fNSigmaPID )  || (!CheckYCut(kSpKaon, track) ) ) continue;\r
                    if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialKaonPlus)->Fill(track->Pt(),d[0]); } \r
                    else { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialKaonMinus)->Fill(track->Pt(),d[0]); } \r
                  }\r
                  if( ( nsigmaTPCkProton < nsigmaTPCkKaon ) && ( nsigmaTPCkProton < nsigmaTPCkPion ) ) {\r
-                   if ( (nsigmaTPCkProton > fNSigmaPID )  || (!CheckYCut(kProton, track) ) ) continue;\r
+                   if ( (nsigmaTPCkProton > fNSigmaPID )  || (!CheckYCut(kSpProton, track) ) ) continue;\r
                    if ( track->Charge() > 0 ) { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialProtonPlus)->Fill(track->Pt(),d[0]); }\r
                    else { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialProtonMinus)->Fill(track->Pt(),d[0]); }\r
                  }\r
                  if( (nsigmaTPCkPion < nsigmaTPCkProton ) && ( nsigmaTPCkPion < nsigmaTPCkKaon ) ) {\r
-                   if ( ( nsigmaTPCkPion > fNSigmaPID )  || (!CheckYCut(kPion, track) ) ) continue;\r
+                   if ( ( nsigmaTPCkPion > fNSigmaPID )  || (!CheckYCut(kSpPion, track) ) ) continue;\r
                    if ( track->Charge() > 0 )  { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialPionPlus)->Fill(track->Pt(),d[0]); }\r
                    else  { fHistMan->GetPtHistogram(kHistPtRecSigmaSecondaryMaterialPionMinus)->Fill(track->Pt(),d[0]); }\r
                  }\r
index 40b328c..86fb617 100644 (file)
@@ -245,3 +245,46 @@ Long64_t AliSpectraAODHistoManager::Merge(TCollection* list)
   return count+1;
 }
 
+
+TH1* AliSpectraAODHistoManager::GetHistogram1D(UInt_t histoType, UInt_t particleType, UInt_t charge) {
+  // GetHistogram using particle ID and histogram type
+  Int_t baseId = -1;
+
+  switch(histoType) {
+  case kHistPtGenTruePrimary:
+    baseId = kHistPtGenTruePrimaryPionPlus;
+    break;
+  case kHistPtRecSigma:
+    baseId = kHistPtRecSigmaPionPlus;
+    break;
+  case kHistPtRecTruePrimary:
+    baseId = kHistPtRecTruePrimaryPionPlus;
+    break;
+  case kHistPtRecSigmaPrimary:
+    baseId = kHistPtRecSigmaPrimaryPionPlus;
+    break;
+  case kHistPtRecSigmaSecondaryMaterial:
+    baseId = kHistPtRecSigmaSecondaryMaterialPionPlus;
+    break;
+  case kHistPtRecSigmaSecondaryWeakDecay:
+    baseId = kHistPtRecSigmaSecondaryWeakDecayPionPlus;
+    break;
+  default:
+    baseId = -1;
+  }
+  
+  if (baseId < 0)
+    AliFatal("Wrong histogram type");
+
+  baseId = baseId + particleType + 3*(charge);
+  //  cout << "ID " << baseId << endl;
+
+  return GetHistogram(baseId);
+}
+
+TH2* AliSpectraAODHistoManager::GetHistogram2D(UInt_t histoType, UInt_t particleType, UInt_t charge){
+  // returns histo based on ids, casting it to TH2*
+  return (TH2*) GetHistogram1D(histoType,particleType,charge);
+
+
+}
index c5b807e..2fdc208 100644 (file)
@@ -27,28 +27,40 @@ namespace AliSpectraNameSpace
    
    enum AODParticleSpecies_t
    {
-     kProton = 0,
-     kKaon,
-     kPion,
-     kNSpecies = kPion,
+     kSpPion,
+     kSpKaon,
+     kSpProton,
+     kNSpecies,
    }; // Particle species used in plotting
 
    const char * kParticleSpecies[] =
    {
-       "ProtonPlus",
-       "ProtonMinus",
-       "KaonPlus",
-       "KaonMinus",
        "PionPlus",
+       "KaonPlus",
+       "ProtonPlus",
        "PionMinus",
+       "KaonMinus",
+       "ProtonMinus",
    };
+
    enum AODHistoType_t
    {
-       kHistSpectraRec = 0,
-       kHistSpectraGen,
-       kHNHistoTypes = kHistSpectraGen,
+     kHistPtGenTruePrimary,
+     kHistPtRecSigma,
+     kHistPtRecTruePrimary,
+     kHistPtRecSigmaPrimary,
+     kHistPtRecSigmaSecondaryMaterial,
+     kHistPtRecSigmaSecondaryWeakDecay,
+     kNHistoTypes
    }; // Types of histos
 
+   enum AODCharge_t
+   {
+       kChPos = 0,
+       kChNeg,
+       kNCharge
+   };
+
 }
 
 using namespace AliSpectraNameSpace;
@@ -69,6 +81,9 @@ public:
    TH1F*   GetPtHistogram1D(const char * name,Double_t minDCA,Double_t maxDCA);
    TH1F*   GetDCAHistogram1D(const char * name,Double_t minPt,Double_t maxPt);
    TH2*     GetHistogram(UInt_t id)      {      return (TH2*) fOutputList->At(id);   }
+  //   TH1*     GetHistogram(AODHistoType_t histoType, AODParticleSpecies_t particleType, UInt_t charge);
+   TH1*     GetHistogram1D(UInt_t histoType, UInt_t particleType, UInt_t charge);
+   TH2*     GetHistogram2D(UInt_t histoType, UInt_t particleType, UInt_t charge);
    TH2*     GetPtHistogram(UInt_t id)    {      return (TH2*) fOutputList->At(id);   }
    TH2*     GetPtHistogram(const char * name)   {      return (TH2*) fOutputList->FindObject(name);   }
    TH2*     GetPtHistogramByName(UInt_t id)     {      return (TH2*) fOutputList->FindObject(kHistName[id]); }  // Use this if you want to read a file saved with a different histo list   
index 0a27bc6..47f2864 100644 (file)
@@ -2,7 +2,11 @@
 // This file is used to give a list of histograms to be created by the manager.
 // the histogram names are automatically generated by the createNames.py script
 // the type/binning of the histograms depends on the range.
-// DON'T ASSIGN NUMERICAL VALUE EXPLICITLY TO THE ENTRIES
+// DON'T FORGET TO RUN createNames.py AFTER EDITING THIS FILE
+// IMPORTANT CONVENTIONS:
+// - don't assign numerical value explicitly to the entries (they would be skipped in the authomatic name generation)
+// - If you add an histogram set, please respect the order:
+//   PionPlus, KaonPlus, ProtonPlus, PionMinus, KaonMinus, ProtonMinus (needed for getters)
 
 namespace AliSpectraNameSpace
 {
@@ -10,64 +14,64 @@ namespace AliSpectraNameSpace
    {
 
       // 6 Pt Generated True Primary
-      kHistPtGenTruePrimaryProtonPlus,          // Pt histo for protons +, generated tracks, true ID, primary Event
-      kHistPtGenTruePrimaryKaonPlus,            // Pt histo for kaons +, generated tracks, true ID, primary Event
       kHistPtGenTruePrimaryPionPlus,            // Pt histo for pions +, generated tracks, true ID, primary Event
-      kHistPtGenTruePrimaryProtonMinus,         // Pt histo for protons -, generated tracks, true ID, primary Event
-      kHistPtGenTruePrimaryKaonMinus,           // Pt histo for kaons -, generated tracks, true ID, primary Event
+      kHistPtGenTruePrimaryKaonPlus,            // Pt histo for kaons +, generated tracks, true ID, primary Event
+      kHistPtGenTruePrimaryProtonPlus,          // Pt histo for protons +, generated tracks, true ID, primary Event
       kHistPtGenTruePrimaryPionMinus,           // Pt histo for pions -, generated tracks, true ID, primary Event
+      kHistPtGenTruePrimaryKaonMinus,           // Pt histo for kaons -, generated tracks, true ID, primary Event
+      kHistPtGenTruePrimaryProtonMinus,         // Pt histo for protons -, generated tracks, true ID, primary Event
       kHistPtGen,                               // Pt histo for all particles, generated tracks
       kNPtGenHist = kHistPtGen,                    // Number of ptGen-likehistos histos
       
       // 6 Pt Reconstructed Sigma
-      kHistPtRecSigmaProtonPlus,                // Pt histo for protons +, reconstructed tracks, sigma ID
-      kHistPtRecSigmaKaonPlus,                  // Pt histo for kaons +, reconsructed tracks, sigma ID
       kHistPtRecSigmaPionPlus,                  // Pt histo for pions +, reconstructed tracks, sigma ID
-      kHistPtRecSigmaProtonMinus,               // Pt histo for protons -, reconstructed tracks, sigma ID
-      kHistPtRecSigmaKaonMinus,                 // Pt histo for kaons -, reconstructed tracks, sigma ID
+      kHistPtRecSigmaKaonPlus,                  // Pt histo for kaons +, reconsructed tracks, sigma ID
+      kHistPtRecSigmaProtonPlus,                // Pt histo for protons +, reconstructed tracks, sigma ID
       kHistPtRecSigmaPionMinus,                 // Pt histo for pions -, reconstructed tracks, sigma ID
+      kHistPtRecSigmaKaonMinus,                 // Pt histo for kaons -, reconstructed tracks, sigma ID
+      kHistPtRecSigmaProtonMinus,               // Pt histo for protons -, reconstructed tracks, sigma ID
       
       // 6 Pt Reconstructed True
-      kHistPtRecTrueProtonPlus,                 // Pt histo for protons +, reconstructed tracks, true ID
-      kHistPtRecTrueKaonPlus,                   // Pt histo for kaons +, reconsructed tracks, true ID
       kHistPtRecTruePionPlus,                   // Pt histo for pions +, reconstructed tracks, true ID
-      kHistPtRecTrueProtonMinus,                // Pt histo for protons -, reconstructed tracks, true ID
-      kHistPtRecTrueKaonMinus,                  // Pt histo for kaons -, reconstructed tracks, true ID
+      kHistPtRecTrueKaonPlus,                   // Pt histo for kaons +, reconsructed tracks, true ID
+      kHistPtRecTrueProtonPlus,                 // Pt histo for protons +, reconstructed tracks, true ID
       kHistPtRecTruePionMinus,                  // Pt histo for pions -, reconstructed tracks, true ID
+      kHistPtRecTrueKaonMinus,                  // Pt histo for kaons -, reconstructed tracks, true ID
+      kHistPtRecTrueProtonMinus,                // Pt histo for protons -, reconstructed tracks, true ID
       kHistPtRecTrueMuonPlus,                   // Pt histo for muons +, reconstructed tracks, true ID,
       kHistPtRecTrueMuonMinus,                  // Pt histo for muons +, reconstructed tracks, true ID,
             
       // 6 Pt Reconstructed Sigma Primary
-      kHistPtRecSigmaPrimaryProtonPlus,         // Pt histo for protons +, reconstructed tracks, sigma ID, primary Event
-      kHistPtRecSigmaPrimaryKaonPlus,           // Pt histo for kaons +, reconsructed tracks, sigma ID, primary Event
       kHistPtRecSigmaPrimaryPionPlus,           // Pt histo for pions +, reconstructed tracks, sigma ID, primary Event
-      kHistPtRecSigmaPrimaryProtonMinus,        // Pt histo for protons -, reconstructed tracks, sigma ID, primary Event
-      kHistPtRecSigmaPrimaryKaonMinus,          // Pt histo for kaons -, reconstructed tracks, sigma ID, primary Event
+      kHistPtRecSigmaPrimaryKaonPlus,           // Pt histo for kaons +, reconsructed tracks, sigma ID, primary Event
+      kHistPtRecSigmaPrimaryProtonPlus,         // Pt histo for protons +, reconstructed tracks, sigma ID, primary Event
       kHistPtRecSigmaPrimaryPionMinus,          // Pt histo for pions -, reconstructed tracks, sigma ID, primary Event
+      kHistPtRecSigmaPrimaryKaonMinus,          // Pt histo for kaons -, reconstructed tracks, sigma ID, primary Event
+      kHistPtRecSigmaPrimaryProtonMinus,        // Pt histo for protons -, reconstructed tracks, sigma ID, primary Event
             
       // 6 Pt Reconstructed Sigma Secondary Material
-      kHistPtRecSigmaSecondaryMaterialProtonPlus,       // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryMaterialKaonPlus,         // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
       kHistPtRecSigmaSecondaryMaterialPionPlus,         // Pt histo for pions +, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryMaterialProtonMinus,      // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryMaterialKaonMinus,        // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryMaterialKaonPlus,         // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryMaterialProtonPlus,       // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
       kHistPtRecSigmaSecondaryMaterialPionMinus,        // Pt histo for pions -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryMaterialKaonMinus,        // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryMaterialProtonMinus,      // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
 
       // 6 Pt Reconstructed Sigma Secondary WeakDecay
-      kHistPtRecSigmaSecondaryWeakDecayProtonPlus,       // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryWeakDecayKaonPlus,         // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
       kHistPtRecSigmaSecondaryWeakDecayPionPlus,         // Pt histo for pions +, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryWeakDecayProtonMinus,      // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
-      kHistPtRecSigmaSecondaryWeakDecayKaonMinus,        // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryWeakDecayKaonPlus,         // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryWeakDecayProtonPlus,       // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
       kHistPtRecSigmaSecondaryWeakDecayPionMinus,        // Pt histo for pions -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryWeakDecayKaonMinus,        // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
+      kHistPtRecSigmaSecondaryWeakDecayProtonMinus,      // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
 
       // 6 Pt Reconstructed True Primary
-      kHistPtRecTruePrimaryProtonPlus,          // Pt histo for protons +, reconstructed tracks, true ID, primary event
-      kHistPtRecTruePrimaryKaonPlus,            // Pt histo for kaons +, reconsructed tracks, true ID, primary event
       kHistPtRecTruePrimaryPionPlus,            // Pt histo for pions +, reconstructed tracks, true ID, primary event
-      kHistPtRecTruePrimaryProtonMinus,         // Pt histo for protons -, reconstructed tracks, true ID, primary event
-      kHistPtRecTruePrimaryKaonMinus,           // Pt histo for kaons -, reconstructed tracks, true ID, primary event
+      kHistPtRecTruePrimaryKaonPlus,            // Pt histo for kaons +, reconsructed tracks, true ID, primary event
+      kHistPtRecTruePrimaryProtonPlus,          // Pt histo for protons +, reconstructed tracks, true ID, primary event
       kHistPtRecTruePrimaryPionMinus,           // Pt histo for pions -, reconstructed tracks, true ID, primary event
+      kHistPtRecTruePrimaryKaonMinus,           // Pt histo for kaons -, reconstructed tracks, true ID, primary event
+      kHistPtRecTruePrimaryProtonMinus,         // Pt histo for protons -, reconstructed tracks, true ID, primary event
       kHistPtRecTruePrimaryMuonPlus,            // Pt histo for muons +, reconstructed tracks, true ID, primary event
       kHistPtRecTruePrimaryMuonMinus,            // Pt histo for muons +, reconstructed tracks, true ID, primary event
       
@@ -80,26 +84,26 @@ namespace AliSpectraNameSpace
       kHistPIDTOF,                              
       kNHistPID =kHistPIDTOF,                           
       
-      kHistNSigProtonTPC,                       // NSigma separation plot    
-      kHistNSigKaonTPC,                              
       kHistNSigPionTPC,                              
-      kHistNSigProtonPtTPC,                              
-      kHistNSigKaonPtTPC,                              
+      kHistNSigKaonTPC,                              
+      kHistNSigProtonTPC,                       // NSigma separation plot    
       kHistNSigPionPtTPC,                              
+      kHistNSigKaonPtTPC,                              
+      kHistNSigProtonPtTPC,                              
       
-      kHistNSigProtonTOF,                              
-      kHistNSigKaonTOF,                              
       kHistNSigPionTOF,                              
-      kHistNSigProtonPtTOF,                              
-      kHistNSigKaonPtTOF,                              
+      kHistNSigKaonTOF,                              
+      kHistNSigProtonTOF,                              
       kHistNSigPionPtTOF,                              
+      kHistNSigKaonPtTOF,                              
+      kHistNSigProtonPtTOF,                              
      
-      kHistNSigProtonTPCTOF,                             
-      kHistNSigKaonTPCTOF,                              
       kHistNSigPionTPCTOF,                              
-      kHistNSigProtonPtTPCTOF,                              
-      kHistNSigKaonPtTPCTOF,                              
+      kHistNSigKaonTPCTOF,                              
+      kHistNSigProtonTPCTOF,                             
       kHistNSigPionPtTPCTOF,
+      kHistNSigKaonPtTPCTOF,                              
+      kHistNSigProtonPtTPCTOF,                              
       kNHistNSig=kHistNSigPionPtTPCTOF,                              
       
       kHistqVecPos,