]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetCorrel/AliJetCorrelSelector.h
JetCorrel correction of coding violations, and other style and memory consumption...
[u/mrichter/AliRoot.git] / PWG4 / JetCorrel / AliJetCorrelSelector.h
CommitLineData
7488b3de 1#ifndef ALIJETCORRELSELECTOR_H
2#define ALIJETCORRELSELECTOR_H
c97d2ae1 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5/* $Id: $ */
6
7//__________________________________________
e1b97289 8// Class for user selections.
9// Object is created by ConfigJetCorrel.C macro and passed to
10// AddTaskJetCorrel.C running macro via the main class AliAnalysisTaskJetCorrel
c97d2ae1 11//-- Author: Paul Constantin
12
13#include "CorrelTrack.h"
14#include "CorrelKFTrack.h"
15#include "CorrelRecoParent.h"
16#include "CorrelList.h"
17
e1b97289 18class AliJetCorrelSelector : public TObject {
c97d2ae1 19
e1b97289 20 public:
21 AliJetCorrelSelector();
22 ~AliJetCorrelSelector();
23
24 // Selection getters:
7488b3de 25 UInt_t PoolDepth() const {return fPoolDepth;}
26 UInt_t NoOfCorrel() const {return fNumCorrel;}
27 UInt_t* CorrelTypes() const {return fCorrelType;}
28 UInt_t NoOfBins(BinType_t cType) const {return fNumBins[cType]-1;}
29 Float_t BinBorder(BinType_t cType, UInt_t ii) const;
30 Float_t MinLowBin(BinType_t cType) const {return fBinning[cType][0];}
31 Float_t MaxHighBin(BinType_t cType) const {return fBinning[cType][fNumBins[cType]-1];}
32 Int_t GetBin(BinType_t cType, Float_t val) const;
33 Bool_t GenQA() const {return fGenQA;}
34 Bool_t UseAliKF() const {return fUseAliKF;}
35 UInt_t DPhiNumBins() const {return fDPhiNumBins;}
36 UInt_t DEtaNumBins() const {return fDEtaNumBins;}
37 void Show() const;
e1b97289 38 // Selection Setters:
39 void SetPoolDepth(UInt_t v) {fPoolDepth=v;}
40 void SetCorrelTypes(UInt_t s, UInt_t * const v);
41 void SetBinningCentr(UInt_t s, Float_t * const v);
42 void SetBinningZvert(UInt_t s, Float_t * const v);
7488b3de 43 void SetBinningTrigg(UInt_t s, Float_t * const v);
44 void SetBinningAssoc(UInt_t s, Float_t * const v);
e1b97289 45 void SetTriggers(UInt_t s, TString * const v);
46 void SetITSRefit(Bool_t v) {fITSRefit=v;}
47 void SetTPCRefit(Bool_t v) {fTPCRefit=v;}
48 void SetTRDRefit(Bool_t v) {fTRDRefit=v;}
49 void SetMaxEta(Float_t v) {fMaxEta=v;}
50 void SetMaxITSChi2(Float_t v) {fMaxITSChi2=v;}
51 void SetMaxTPCChi2(Float_t v) {fMaxTPCChi2=v;}
52 void SetMinNClusITS(UInt_t v) {fMinNClusITS=v;}
53 void SetMinNClusTPC(UInt_t v) {fMinNClusTPC=v;}
54 void SetMaxNsigmaVtx(Float_t v) {fMaxNsigmaVtx=v;}
55 void SetMaxTrkVtx(Float_t v) {fMaxTrkVtx=v;}
56 void SetRejectKinkChild(Bool_t v) {fRejectKinkChild=v;}
57 void SetQA(Bool_t v) {fGenQA=v;}
58 void SetDPhiNumBins(UInt_t v) {fDPhiNumBins=v;}
59 void SetDEtaNumBins(UInt_t v) {fDEtaNumBins=v;}
7488b3de 60 void SetTrkProximityCut(Float_t v) {fTrkMinProx=v;}
e1b97289 61 void SetUseAliKF(Bool_t v) {fUseAliKF=v;}
62 // Cutting methods:
7488b3de 63 Bool_t SelectedEvtTrigger(AliESDEvent * const jcESD) const;
64 Bool_t CloseTrackPair(Float_t dist) const;
65 Bool_t LowQualityTrack(AliESDtrack* t) const;
66 Bool_t PassPID(AliESDtrack* t, PartType_t pType) const;
67 Float_t GetSigmaToVertex(AliESDtrack* trk) const;
68 void GetPID(AliESDtrack* trk, Stat_t& fpid, Stat_t& fweight) const;
e1b97289 69
70 private:
71 // Generic Selections:
72 Bool_t fGenQA; // generate QA histos
73 UInt_t fDPhiNumBins, fDEtaNumBins; // number of bins in DeltaPhi, DeltaEta histos
7488b3de 74 UInt_t fNumCorrel, fNumEvtTriggs, fPoolDepth; // number of correlations, event triggers, pool depth
75 UInt_t* fCorrelType; //! array of correlation types
76 TString* fEvtTriggs; //! array of event triggers
77 UInt_t fNumBins[4]; // number of bins: centr, zvert, trigg, assoc
78 Float_t* fBinning[4]; //! bin margins: centr, zvert, trigg, assoc
e1b97289 79 // Track Selections:
80 Bool_t fITSRefit, fTPCRefit, fTRDRefit, fRejectKinkChild; // on/off cuts
81 Float_t fMaxEta; // single-particle eta cut
82 Float_t fMaxNsigmaVtx; // track-primary vertex cut (sigma)
83 Float_t fMaxTrkVtx; // track-primary vertex cut (value)
84 Float_t fMaxITSChi2, fMaxTPCChi2; // ITS/TPC Chi2/cluster cut
85 UInt_t fMinNClusITS, fMinNClusTPC; // ITS/TPC number of clusters cut
7488b3de 86 Float_t fTrkMinProx; // two-track proximity cut (dist at TPC entrance)
e1b97289 87 Bool_t fUseAliKF; // use AliKF or TLorentzVector for parent reconstruction
88
89 // disable (make private) copy constructor, and assignment operator:
90 AliJetCorrelSelector(const AliJetCorrelSelector&);
91 AliJetCorrelSelector& operator=(const AliJetCorrelSelector&);
92
7488b3de 93 ClassDef(AliJetCorrelSelector, 1); //AliJetCorrelSelector
e1b97289 94};
c97d2ae1 95
96#endif