Line data Source code
1 : #ifndef ALIAODITSSATRACKCUTS_H
2 : #define ALIAODITSSATRACKCUTS_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id$ */
7 :
8 : // This class applies the ITSsa cuts at the AOD level.
9 : // Needed for MuonCalo pass where the FilterBit information was not properly saved.
10 : // It contains also some quality cuts which can be modifed by user.
11 : //
12 : // Author: Igor Lakomov <Igor.Lakomov@cern.ch>
13 : //
14 :
15 : #include <TMath.h>
16 : #include <TFormula.h>
17 : #include "AliLog.h"
18 : #include "AliESDtrack.h"
19 : #include "AliAODTrack.h"
20 : #include "AliESDtrackCuts.h"
21 :
22 : #include "AliVEvent.h"
23 : #include "AliVVertex.h"
24 :
25 0 : class AliAODITSsaTrackCuts : public AliVCuts
26 : {
27 : public:
28 : AliAODITSsaTrackCuts();
29 : virtual ~AliAODITSsaTrackCuts();
30 :
31 : Bool_t AcceptTrack(const AliAODTrack* aodTrack); //returns kTRUE if aodTrack passed all the cuts
32 0 : virtual Bool_t IsSelected(TObject* obj) {return AcceptTrack((AliAODTrack*)obj);}
33 : Double_t CalculateDCAXY(const AliAODTrack* aodTrack); //calculates the DCAZ using coordinates of aodTrack and fPrimaryVertex
34 : Double_t CalculateDCAZ(const AliAODTrack* aodTrack); //calculates the DCAZ using coordinates of aodTrack and fPrimaryVertex
35 :
36 : //Standard cuts definitions
37 : static AliAODITSsaTrackCuts* GetStandardAODITSsaTrackCuts2015(); //definition of the standard cuts for the MuonCalo pass2 of 2015 data
38 :
39 : //Setters
40 0 : void SetMinNClustersITS(Int_t min=-1) {fMinNClustersITS=min;} //sets minimum number of ITS clusters
41 0 : void SetMaxChi2PerClustersITS(Double_t max=-1.) {fMaxChi2PerClustersITS=max;} //sets max chi2 per ITS cluster
42 : void SetDefaultDCAXYptdepCut2015(); //defines default pt-dependent cut on DCAXY: (0.0231+0.0315/x^1.3) // 7*(0.0033+0.0045/pt^1.3)
43 : void SetDefaultDCAZptdepCut2015(); //defines default pt-dependent cut on DCAZ: (const 1)
44 : void SetUserDCAXYptdepCut(const char *formula); //defines the user's pt-dependent cut on DCAXY
45 : void SetUserDCAZptdepCut(const char *formula); //defines the user's pt-dependent cut on DCAZ
46 0 : void ExtractAndSetPrimaryVertex(AliVEvent *event) {fPrimaryVertex = event ? event->GetPrimaryVertex(): 0x0;} //Extracts and sets primary vertex from the AOD event
47 :
48 : //Getters
49 0 : Double_t GetMinNClustersITS() {return fMinNClustersITS;} //returns minimum number of ITS clusters
50 0 : Double_t GetMaxChi2PerClustersITS() {return fMaxChi2PerClustersITS;} //returns max chi2 per ITS cluster
51 0 : TFormula* GetDCAXYCut() {return fdcaxycut;} //returns TFormula defining the pt-dependent cut on DCAXY
52 0 : TFormula* GetDCAZCut() {return fdcazcut;} //returns TFormula defining the pt-dependent cut on DCAZ
53 :
54 : private:
55 : Double_t fMinNClustersITS; //minimum number of ITS clusters
56 : Double_t fMaxChi2PerClustersITS; //max chi2 per ITS cluster
57 : TFormula *fdcaxycut; //TFormula defining the pt-dependent cut on DCAXY
58 : TFormula *fdcazcut; //TFormula defining the pt-dependent cut on DCAZ
59 : const AliVVertex* fPrimaryVertex; //! Primary vertex
60 :
61 170 : ClassDef(AliAODITSsaTrackCuts,1)
62 : };
63 : #endif
|