]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnPIDDefESD.h
Modifications in analysis tasks for train
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnPIDDefESD.h
CommitLineData
61f55b30 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * See cxx source for full Copyright notice *
4 **************************************************************************/
5
6/* $Id: AliRsnPIDScheme.h,v 1.5 2007/02/21 14:33:25 pulvir Exp $ */
7
8//-------------------------------------------------------------------------
9// Class AliRsnPIDDef
10// Simple collection of reconstructed tracks, selected from an ESD event
11//
12// author: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it)
13//-------------------------------------------------------------------------
14
15#ifndef ALIRSNPIDDEFESD_H
16#define ALIRSNPIDDEFESD_H
17
18class AliESDtrack;
19
6f4a992c 20class AliRsnPIDDefESD : public TObject
21{
61f55b30 22 public:
23
e343e521 24 enum EDetector {
6f4a992c 25 kITS = 0,
61f55b30 26 kTPC,
27 kTRD,
28 kTOF,
29 kHMPID,
30 kDetectors
31 };
32
e343e521 33 enum EScheme {
61f55b30 34 kSchemeESD = 0,
35 kSchemeITS,
36 kSchemeTPC,
37 kSchemeTOF,
38 kSchemeITSandTPC,
39 kSchemeITSandTOF,
40 kSchemeTPCandTOF,
41 kSchemeITSandTPCandTOF,
42 kSchemeITSandTPCandTOFwithSP,
e343e521 43 kSchemeITSandTPCorTOFwithSP,
61f55b30 44 kSchemeLastPIDType
45 };
46
47 AliRsnPIDDefESD();
48 AliRsnPIDDefESD(const AliRsnPIDDefESD& copy);
49 virtual ~AliRsnPIDDefESD() {}
50
51 void UseESDWeights() {fUseESDWeights = kTRUE;};
52 void NoESDWeights() {fUseESDWeights = kFALSE;}
53 void SetScheme(EScheme scheme, Double_t divValue = 1.0);
54 void IncludeDet(EDetector det) {if (CheckBounds(det)) fUseDet[det] = kTRUE;}
55 void ExcludeDet(EDetector det) {if (CheckBounds(det)) fUseDet[det] = kFALSE;}
56 void IncludeAll() { Int_t det; for (det = 0; det < kDetectors; det++) fUseDet[det] = kTRUE; }
57 void ExcludeAll() { Int_t det; for (det = 0; det < kDetectors; det++) fUseDet[det] = kFALSE; }
e343e521 58 void SetDivValue(EDetector det, Double_t value,Bool_t userHigher=kTRUE);
61f55b30 59 void ComputeWeights(AliESDtrack *track, Double_t *weights);
60 void PrintStatus();
4fbb2459 61 const char* DetName(EDetector det) const;
7a3ae0d2 62 const char* SchemeName();
61f55b30 63
64 private:
65
4fbb2459 66 Bool_t CheckBounds(EDetector det) const { return (det >= kITS && det < kDetectors); }
e343e521 67 Bool_t CheckDivValue(EDetector det,Double_t value);
61f55b30 68
69 Bool_t fUseESDWeights; // with this flag, ESD weights are used
70 Bool_t fUseDet[kDetectors]; // flag to switch off info from a detector
e343e521 71 Double_t fDivValue[kDetectors]; // division value for detector weight acceptance
72 Double_t fUseHigher[kDetectors]; // accepted higher or lower then div value
61f55b30 73
74 ClassDef(AliRsnPIDDefESD,1);
75};
76
77#endif