PamCut: TrkCuts/TrkNucleiZCut/TrkNucleiZCut.h Source File

- Main Page
- Classes
- Files

- File List
- File Members

# TrkCuts/TrkNucleiZCut/TrkNucleiZCut.h

Go to the documentation of this file.

    00001 /*
    00002  * TrkNucleiZCut.h
    00003  *
    00004  *  Created on: 10-mag-2009
    00005  *      Author: Nicola Mori
    00006  */
    00007
    00010 #ifndef NO_TRKNUCLEI
    00011
    00012 #ifndef TRKNUCLEIZCUT_H_
    00013 #define TRKNUCLEIZCUT_H_
    00014
    00015 #include "../../PamCutBase/PamCutBase.h"
    00016 #include <TrkNuclei.h>
    00017
    00018 #include <TH2F.h>
    00019
    00021 enum TrkNucleiZ_Return {
    00022   TRKNUCLEIZ_OUTOFBOUNDS,
    00023   TRKNUCLEIZ_TOOFEWLAYERS,
    00024   TRKNUCLEIZ_ILLEGALZ
    00026 };
    00027
    00029 enum TrkNucleiZ_method {
    00030   TRKNUCLEIZ_BETA,
    00031   TRKNUCLEIZ_RIG,
    00033 };
    00034
    00036 enum TrkNucleiZ_Check {
    00037   TRKNUCLEIZ_CHECKMEAN,
    00038   TRKNUCLEIZ_CHECKSINGLEVALUES
    00040 };
    00041
    00048 class TrkNucleiZCut: public PamCut {
    00049
    00050 public:
    00065   TrkNucleiZCut(const char *cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int minLayers = 1,
    00066       unsigned int howToCheck = TRKNUCLEIZ_CHECKMEAN, unsigned int method = TRKNUCLEIZ_RIG) :
    00067     PamCut(cutName), _Z(Z), _lowerLimit(lowerLimit), _upperLimit(upperLimit), _trkNuclei(NULL), _minLayers(minLayers),
    00068         _howToCheck(howToCheck), _method(method) {
    00069
    00070   }
    00072   ~TrkNucleiZCut() {
    00073     delete _trkNuclei;
    00074   }
    00075
    00119   int Check(PamLevel2 *event);
    00120
    00121 private:
    00122
    00123   unsigned int _Z;
    00124
    00125   static const float _meanRigMean[]; //Means for mean dE/dx Vs. rigidity
    00126   static const float _sigmaRigMean[];//Sigmas for mean dE/dx Vs. rigidity
    00127   static const float _meanBetaMean[]; //Means for mean dE/dx Vs. beta
    00128   static const float _sigmaBetaMean[];//Sigmas for mean dE/dx Vs. beta
    00129
    00130   float _lowerLimit;
    00131   float _upperLimit;
    00132   TrkNuclei *_trkNuclei;
    00133   unsigned int _minLayers;
    00134   unsigned int _howToCheck;
    00135   unsigned int _method;
    00136 };
    00137 #endif /* TRKNUCLEIZCUT_H_ */
    00138
    00139 #endif /* NO_TRKNUCLEI */