]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Generating histogram names automatically
authormfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Apr 2012 16:29:34 +0000 (16:29 +0000)
committermfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Apr 2012 16:29:34 +0000 (16:29 +0000)
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODHistoManager.h
PWGLF/SPECTRA/PiKaPr/TestAOD/Histograms.h [new file with mode: 0644]
PWGLF/SPECTRA/PiKaPr/TestAOD/createNames.py [new file with mode: 0755]

index cd75def4968d2cc5edf273e5e828e3a38f4e8b6e..c5b807e46bbc026585e482f7e421aac90bf4fe2b 100644 (file)
@@ -18,207 +18,12 @@ class TH1F;
 class TH2F;
 class TList;
 #include "TNamed.h"
+#include "Histograms.h" // Change this file if you want to add an histogram
+#include "HistogramNames.h"
 
 namespace AliSpectraNameSpace
 {
-   enum AODPtHist_t
-   {
-     // MF 22/02/2012
-     // Add histograms 2D DCA_xy (-3,3) vs pt (0, 3)
-     // For Rec data/MC, Rec MC primaries, Rec MC secondaries weak decay, Rec MC secondaries material (x6, each particle hypothesis)
-
-      // 6 Pt Generated True Primary
-      kHistPtGenTruePrimaryProtonPlus=0,          // 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
-      kHistPtGenTruePrimaryPionMinus,           // Pt histo for pions -, 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
-      kHistPtRecSigmaPionMinus,                 // Pt histo for pions -, 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
-      kHistPtRecTruePionMinus,                  // Pt histo for pions -, 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
-      kHistPtRecSigmaPrimaryPionMinus,          // Pt histo for pions -, 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
-      kHistPtRecSigmaSecondaryMaterialPionMinus,        // Pt histo for pions -, 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
-      kHistPtRecSigmaSecondaryWeakDecayPionMinus,        // Pt histo for pions -, 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
-      kHistPtRecTruePrimaryPionMinus,           // Pt histo for pions -, 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
-      
-      // Rest
-      kHistPtRec,                               // Pt histo for all particles, reconstructed tracks
-      kHistPtRecPrimary,                               // Pt histo for all particles, reconstructed tracks
-      kNPtRecHist = kHistPtRecPrimary,                    // Number of ptRec-likehistos histos
-      
-      kHistPIDTPC,                              // Particle Identification histo
-      kHistPIDTOF,                              
-      kNHistPID =kHistPIDTOF,                           
-      
-      kHistNSigProtonTPC,                       // NSigma separation plot    
-      kHistNSigKaonTPC,                              
-      kHistNSigPionTPC,                              
-      kHistNSigProtonPtTPC,                              
-      kHistNSigKaonPtTPC,                              
-      kHistNSigPionPtTPC,                              
-      
-      kHistNSigProtonTOF,                              
-      kHistNSigKaonTOF,                              
-      kHistNSigPionTOF,                              
-      kHistNSigProtonPtTOF,                              
-      kHistNSigKaonPtTOF,                              
-      kHistNSigPionPtTOF,                              
-     
-      kHistNSigProtonTPCTOF,                             
-      kHistNSigKaonTPCTOF,                              
-      kHistNSigPionTPCTOF,                              
-      kHistNSigProtonPtTPCTOF,                              
-      kHistNSigKaonPtTPCTOF,                              
-      kHistNSigPionPtTPCTOF,
-      kNHistNSig=kHistNSigPionPtTPCTOF,                              
-      
-      kHistqVecPos,
-      kHistqVecNeg,
-      kNHist,                                   // Total number of histos
-   };  // Type of events plotted in Pt Histogram
-
-   const char * kHistName[] =
-   {
-      // 6 Pt Reconstructed Sigma Primary
-      "histPtGenTruePrimaryProtonPlus",         // Pt histo for protons +, generated tracks, sigma ID, primary Event
-      "histPtGenTruePrimaryKaonPlus",           // Pt histo for kaons +, generated tracks, sigma ID, primary Event
-      "histPtGenTruePrimaryPionPlus",           // Pt histo for pions +, generated tracks, sigma ID, primary Event
-      "histPtGenTruePrimaryProtonMinus",          // Pt histo for protons -, generated tracks, sigma ID, primary Event
-      "histPtGenTruePrimaryKaonMinus",            // Pt histo for kaons -, generated tracks, sigma ID, primary Event
-      "histPtGenTruePrimaryPionMinus",            // Pt histo for pions -, generated tracks, sigma ID, primary Event
-      "histPtGen",                              // Pt histo for all particles, generated tracks
-     
-      // 6 Pt Reconstructed Sigma
-      "histPtRecSigmaProtonPlus",               // Pt histo for protons +, reconstructed tracks, sigma ID
-      "histPtRecSigmaKaonPlus",                 // Pt histo for kaons +, reconsructed tracks, sigma ID
-      "histPtRecSigmaPionPlus",                 // Pt histo for pions +, reconstructed tracks, sigma ID
-      "histPtRecSigmaProtonMinus",              // Pt histo for protons -, reconstructed tracks, sigma ID
-      "histPtRecSigmaKaonMinus",                // Pt histo for kaons -, reconstructed tracks, sigma ID
-      "histPtRecSigmaPionMinus",                // Pt histo for pions -, reconstructed tracks, sigma ID
-      
-      // 6 Pt Reconstructed True
-      "histPtRecTrueProtonPlus",                // Pt histo for protons +, reconstructed tracks, true ID
-      "histPtRecTrueKaonPlus",                  // Pt histo for kaons +, reconsructed tracks, true ID
-      "histPtRecTruePionPlus",                  // Pt histo for pions +, reconstructed tracks, true ID
-      "histPtRecTrueProtonMinus",               // Pt histo for protons -, reconstructed tracks, true ID
-      "histPtRecTrueKaonMinus",                 // Pt histo for kaons -, reconstructed tracks, true ID
-      "histPtRecTruePionMinus",                 // Pt histo for pions -, reconstructed tracks, true ID
-      "histPtRecTrueMuonPlus",                  // Pt histo for muons +, reconstructed tracks, true ID
-      "histPtRecTrueMuonMinus",                 // Pt histo for muons -, reconstructed tracks, true ID
-      
-      // 6 Pt Reconstructed Sigma Primary
-      "histPtRecSigmaPrimaryProtonPlus",        // Pt histo for protons +, reconstructed tracks, sigma ID, primary Event
-      "histPtRecSigmaPrimaryKaonPlus",          // Pt histo for kaons +, reconsructed tracks, sigma ID, primary Event
-      "histPtRecSigmaPrimaryPionPlus",          // Pt histo for pions +, reconstructed tracks, sigma ID, primary Event
-      "histPtRecSigmaPrimaryProtonMinus",       // Pt histo for protons -, reconstructed tracks, sigma ID, primary Event
-      "histPtRecSigmaPrimaryKaonMinus",         // Pt histo for kaons -, reconstructed tracks, sigma ID, primary Event
-      "histPtRecSigmaPrimaryPionMinus",         // Pt histo for pions -, reconstructed tracks, sigma ID, primary Event
-      
-      // 6 Pt Reconstructed Sigma Seconday
-      "histPtRecSigmaSecondaryMaterialProtonPlus",      // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryMaterialKaonPlus",        // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryMaterialPionPlus",        // Pt histo for pions +, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryMaterialProtonMinus",     // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryMaterialKaonMinus",       // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryMaterialPionMinus",       // Pt histo for pions -, reconstructed tracks, sigma ID, secondary Event
-      
-      // 6 Pt Reconstructed Sigma Seconday
-      "histPtRecSigmaSecondaryWeakDecayProtonPlus",      // Pt histo for protons +, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryWeakDecayKaonPlus",        // Pt histo for kaons +, reconsructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryWeakDecayPionPlus",        // Pt histo for pions +, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryWeakDecayProtonMinus",     // Pt histo for protons -, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryWeakDecayKaonMinus",       // Pt histo for kaons -, reconstructed tracks, sigma ID, secondary Event
-      "histPtRecSigmaSecondaryWeakDecayPionMinus",       // Pt histo for pions -, reconstructed tracks, sigma ID, secondary Event
-        
-      // 6 Pt Reconstructed True
-      "histPtRecTruePrimaryProtonPlus",         // Pt histo for protons +, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryKaonPlus",           // Pt histo for kaons +, reconsructed tracks, true ID, primary event
-      "histPtRecTruePrimaryPionPlus",           // Pt histo for pions +, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryProtonMinus",        // Pt histo for protons -, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryKaonMinus",          // Pt histo for kaons -, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryPionMinus",          // Pt histo for pions -, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryMuonPlus",           // Pt histo for muons +, reconstructed tracks, true ID, primary event
-      "histPtRecTruePrimaryMuonMinus",          // Pt histo for muons -, reconstructed tracks, true ID, primary event
-      
-      // Rest
-      "histPtRec",                              // Pt histo for all particles, reconstructed tracks
-      "histPtRecPrimary",                              // Pt histo for all particles, reconstructed tracks
-      
-      "histPIDTPC",                             // Particle Identification histo
-      "histPIDTOF",                             
-     
-      "histNSigProtonTPC",                      // NSigma Separation plot
-      "histNSigKaonTPC",
-      "histNSigPionTPC",
-      "histNSigProtonPtTPC",
-      "histNSigKaonPtTPC",
-      "histNSigPionPtTPC",
-      
-      "histNSigProtonTOF",
-      "histNSigKaonTOF",
-      "histNSigPionTOF",
-      "histNSigProtonPtTOF",
-      "histNSigKaonPtTOF",
-      "histNSigPionPtTOF",
-      
-      "histNSigProtonTPCTOF",
-      "histNSigKaonTPCTOF",
-      "histNSigPionTPCTOF",
-      "histNSigProtonPtTPCTOF",
-      "histNSigKaonPtTPCTOF",
-      "histNSigPionPtTPCTOF",
-      
-      "histqPos",                             // qVecVsCentrality
-      "histqNeg"
-   };
    
    enum AODParticleSpecies_t
    {
diff --git a/PWGLF/SPECTRA/PiKaPr/TestAOD/Histograms.h b/PWGLF/SPECTRA/PiKaPr/TestAOD/Histograms.h
new file mode 100644 (file)
index 0000000..0a27bc6
--- /dev/null
@@ -0,0 +1,110 @@
+
+// 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
+
+namespace AliSpectraNameSpace
+{
+   enum AODPtHist_t
+   {
+
+      // 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
+      kHistPtGenTruePrimaryPionMinus,           // Pt histo for pions -, 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
+      kHistPtRecSigmaPionMinus,                 // Pt histo for pions -, 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
+      kHistPtRecTruePionMinus,                  // Pt histo for pions -, 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
+      kHistPtRecSigmaPrimaryPionMinus,          // Pt histo for pions -, 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
+      kHistPtRecSigmaSecondaryMaterialPionMinus,        // Pt histo for pions -, 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
+      kHistPtRecSigmaSecondaryWeakDecayPionMinus,        // Pt histo for pions -, 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
+      kHistPtRecTruePrimaryPionMinus,           // Pt histo for pions -, 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
+      
+      // Rest
+      kHistPtRec,                               // Pt histo for all particles, reconstructed tracks
+      kHistPtRecPrimary,                               // Pt histo for all particles, reconstructed tracks
+      kNPtRecHist = kHistPtRecPrimary,                    // Number of ptRec-likehistos histos
+      
+      kHistPIDTPC,                              // Particle Identification histo
+      kHistPIDTOF,                              
+      kNHistPID =kHistPIDTOF,                           
+      
+      kHistNSigProtonTPC,                       // NSigma separation plot    
+      kHistNSigKaonTPC,                              
+      kHistNSigPionTPC,                              
+      kHistNSigProtonPtTPC,                              
+      kHistNSigKaonPtTPC,                              
+      kHistNSigPionPtTPC,                              
+      
+      kHistNSigProtonTOF,                              
+      kHistNSigKaonTOF,                              
+      kHistNSigPionTOF,                              
+      kHistNSigProtonPtTOF,                              
+      kHistNSigKaonPtTOF,                              
+      kHistNSigPionPtTOF,                              
+     
+      kHistNSigProtonTPCTOF,                             
+      kHistNSigKaonTPCTOF,                              
+      kHistNSigPionTPCTOF,                              
+      kHistNSigProtonPtTPCTOF,                              
+      kHistNSigKaonPtTPCTOF,                              
+      kHistNSigPionPtTPCTOF,
+      kNHistNSig=kHistNSigPionPtTPCTOF,                              
+      
+      kHistqVecPos,
+      kHistqVecNeg,
+      kNHist,                                   // Total number of histos
+   };  // Type of events plotted in Pt Histogram
+
+}
diff --git a/PWGLF/SPECTRA/PiKaPr/TestAOD/createNames.py b/PWGLF/SPECTRA/PiKaPr/TestAOD/createNames.py
new file mode 100755 (executable)
index 0000000..197618b
--- /dev/null
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+
+def main():
+
+    # print header
+    output = list()
+    output.append ("namespace AliSpectraNameSpace\n")
+    output.append ("{\n")
+    output.append ("   const char * kHistName[] =\n")
+    output.append ("   {\n")
+
+    # print histogram names
+    ifile  = open("Histograms.h", "rb")
+    for line in ifile:
+        lineNoWS = line.strip()
+        if(not lineNoWS.startswith("k")): # skip everything which is not an entry in the enum
+            continue
+        if("=" in lineNoWS): # skip histogram type delimeters
+            continue
+        col=line.split(",")
+        
+        output.append("     \"h"+col[0].strip()[1:]+"\",\n");
+
+    output.append ("   };\n")
+
+    # write file
+    outfile = open("HistogramNames.h", "w")
+    outfile.write("//This file was generated automatically, please do not edit!!\n\n");
+    outfile.writelines(output)
+    outfile.close()
+
+
+## def skipLines(lineNoWS):
+##     beginningsToSkip = ["//", "{", "namespace", "enum"]
+##     for entry in beginningsToSkip:
+##         if lineNoWS.startswith(entry):
+##             return 1 
+##     return 0
+    
+    
+
+#######################################################################
+if __name__ == "__main__":
+    main()