]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muondep/AliAnalysisTaskESDMCLabelAddition.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muondep / AliAnalysisTaskESDMCLabelAddition.h
CommitLineData
63c5d0a6 1#ifndef ALIANALYSISTASKESDMCLABELADDITION_H
2#define ALIANALYSISTASKESDMCLABELADDITION_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
27de2dfb 7/* $Id$ */
8
b54df4f9 9#include <TString.h>
63c5d0a6 10#include "AliAnalysisTaskSE.h"
11
e5b66c63 12class AliMUONTrack;
13class AliMUONVTrackStore;
14
63c5d0a6 15class AliAnalysisTaskESDMCLabelAddition : public AliAnalysisTaskSE
16{
17
b54df4f9 18public:
19 AliAnalysisTaskESDMCLabelAddition();
20 AliAnalysisTaskESDMCLabelAddition(const char* name);
21 virtual ~AliAnalysisTaskESDMCLabelAddition() {;}
22
23 // Implementation of interface methods
24 virtual void UserCreateOutputObjects();
25 virtual void NotifyRun();
26 virtual void UserExec(Option_t *option);
27 virtual void Terminate(Option_t *option);
28
29 /// Set location of the default OCDB storage (if not set use "raw://")
30 void SetDefaultStorage(const char* ocdbPath) { fDefaultStorage = ocdbPath; }
31
191e1b15 32 /// Set the OCDB path to the alignment file used in the reco (if not set use default storage)
33 void SetAlignStorage(const char* ocdbPath) { fAlignOCDBpath = ocdbPath; }
34
35 /// Set the OCDB path to the recoParam file used in the reco (if not set use default storage)
36 void SetRecoParamStorage(const char* ocdbPath) { fRecoParamOCDBpath = ocdbPath; }
37
e5b66c63 38 /// Set the sigma cut to associate clusters with TrackRefs by position (instead of using recoParam)
39 void SetExternalTrkSigmaCut(Double_t cut) { fExternalTrkSigmaCut = cut; }
40
41 /// Set the sigma cut to associate trigger to triggerable track by position (instead of using recoParam)
42 void SetExternalTrgSigmaCut(Double_t cut) { fExternalTrgSigmaCut = cut; }
43
191e1b15 44 /// Set the flag to consider decays as fake tracks or not
45 void DecayAsFake(Bool_t flag = kTRUE) { fDecayAsFake = flag; }
46
b54df4f9 47
48private:
49
50 AliAnalysisTaskESDMCLabelAddition(const AliAnalysisTaskESDMCLabelAddition&);
51 AliAnalysisTaskESDMCLabelAddition& operator=(const AliAnalysisTaskESDMCLabelAddition&);
52
e5b66c63 53 // Check whether this combination of clusters correspond to a decaying particle or not
54 Int_t IsDecay(Int_t nClusters, Int_t *chId, Int_t *labels, Bool_t &isReconstructible, Int_t &lastCh) const;
55
56 // Try to match clusters between track and trackRef and add the corresponding MC labels to the arrays
57 void AddCompatibleClusters(const AliMUONTrack &track, const AliMUONTrack &trackRef,
58 TArrayI *labels, Int_t *nLabels) const;
59
60 // Check whether this track correspond to a decaying particle by using cluster MC labels
61 Int_t IsDecayByLabel(const AliMUONTrack &track, Bool_t &isReconstructible, Int_t &lastCh) const;
62
63 // Check whether this track correspond to a decaying particle by comparing clusters position
64 Int_t IsDecayByPosition(const AliMUONTrack &track, const AliMUONVTrackStore &trackRefStore,
65 Bool_t &isReconstructible, Int_t &lastCh) const;
b54df4f9 66
e5b66c63 67 TString fDefaultStorage; ///< location of the default OCDB storage
191e1b15 68 TString fAlignOCDBpath; ///< OCDB path to the alignment file
69 TString fRecoParamOCDBpath; ///< OCDB path to the recoParam file
e5b66c63 70 UInt_t fRequestedStationMask; //!< mask of requested stations
71 Bool_t fRequest2ChInSameSt45; //!< 2 fired chambers requested in the same station (4 or 5) or not
72 Double_t fExternalTrkSigmaCut; ///< sigma cut to associate clusters with TrackRefs (instead of using recoParam)
73 Double_t fSigmaCut; //!< sigma cut to associate clusters with TrackRefs
74 Double_t fExternalTrgSigmaCut; ///< sigma cut to associate trigger to triggerable track (instead of using recoParam)
75 Double_t fSigmaCutTrig; //!< sigma cut to associate trigger to triggerable track
191e1b15 76 Bool_t fDecayAsFake; ///< consider decays as fake tracks or not
77
78 ClassDef(AliAnalysisTaskESDMCLabelAddition, 5); // Analysis task for standard ESD filtering
b54df4f9 79
63c5d0a6 80};
81
82#endif
b54df4f9 83