ROOT logo
/**************************************************************************
 *     AliXtAnalysis:
 * This class constructs inclusive and isolated (based on charged tracks)
 * invariant spectra. Isolated case uses a different efficiency where the
 * contamination from cases where non-isolated particle appears as an
 * isolated one due to finite detector efficiency is taken into account.
 *
 * contact: Sami Räsänen
 *          University of Jyväskylä, Finland
 *          sami.s.rasanen@jyu.fi
 **************************************************************************/

#ifndef ALIXTANALYSIS_H
#define ALIXTANALYSIS_H

#include <AliAnalysisTaskSE.h>

class AliVEvent;
class TList;
class AliAnalysisUtils;
class AliJCard;
class TDirectory;
class AliJXtHistos;
class TH1D;
class TObjArray;

class AliXtAnalysis : public AliAnalysisTaskSE {

	public:
		AliXtAnalysis();
		AliXtAnalysis(const char *name, const char *cardname);
		AliXtAnalysis(const AliXtAnalysis& a);
		AliXtAnalysis& operator=(const AliXtAnalysis& ap);
		
		virtual ~AliXtAnalysis(); 

		virtual void   UserCreateOutputObjects();
		virtual void   UserExec(Option_t *option);
		virtual void   Terminate(Option_t *);

		bool IsGoodEvent(AliVEvent *event);
		void SetDebugMode( int debug) { fDebugMode = debug; };

	private:
		TList               *fOutputList;	// Output list
		AliAnalysisUtils	*fAnaUtils;     // Analysis utils
		
        //AliIsolatedEfficiency	*fEfficiency;	// TODO: isolated efficiency, currently eff = 1
        AliJCard            *fCard;		// All parameters
    
        TDirectory          *fHistDir;  // histograms to the directory, structure compatible with JCORRAN
        AliJXtHistos 		*fHistos;	// encapsulate (almost) all histograms
        TH1D                *fhEvents;  // general event statistics
    
		TObjArray           *fChargedList;	// accepted charged tracks in an event
		TObjArray           *fIsolatedChargedList;	// isolated charged tracks in an event
		
        int fCentBin;       // centrality bin
        int fZBin;          // z -vertex bin
        double fZVert;      // z -vertex
    
		Int_t fevt;     // event number
		int fDebugMode; // debug mode
				
		ClassDef(AliXtAnalysis, 1);
};

#endif
 AliXtAnalysis.h:1
 AliXtAnalysis.h:2
 AliXtAnalysis.h:3
 AliXtAnalysis.h:4
 AliXtAnalysis.h:5
 AliXtAnalysis.h:6
 AliXtAnalysis.h:7
 AliXtAnalysis.h:8
 AliXtAnalysis.h:9
 AliXtAnalysis.h:10
 AliXtAnalysis.h:11
 AliXtAnalysis.h:12
 AliXtAnalysis.h:13
 AliXtAnalysis.h:14
 AliXtAnalysis.h:15
 AliXtAnalysis.h:16
 AliXtAnalysis.h:17
 AliXtAnalysis.h:18
 AliXtAnalysis.h:19
 AliXtAnalysis.h:20
 AliXtAnalysis.h:21
 AliXtAnalysis.h:22
 AliXtAnalysis.h:23
 AliXtAnalysis.h:24
 AliXtAnalysis.h:25
 AliXtAnalysis.h:26
 AliXtAnalysis.h:27
 AliXtAnalysis.h:28
 AliXtAnalysis.h:29
 AliXtAnalysis.h:30
 AliXtAnalysis.h:31
 AliXtAnalysis.h:32
 AliXtAnalysis.h:33
 AliXtAnalysis.h:34
 AliXtAnalysis.h:35
 AliXtAnalysis.h:36
 AliXtAnalysis.h:37
 AliXtAnalysis.h:38
 AliXtAnalysis.h:39
 AliXtAnalysis.h:40
 AliXtAnalysis.h:41
 AliXtAnalysis.h:42
 AliXtAnalysis.h:43
 AliXtAnalysis.h:44
 AliXtAnalysis.h:45
 AliXtAnalysis.h:46
 AliXtAnalysis.h:47
 AliXtAnalysis.h:48
 AliXtAnalysis.h:49
 AliXtAnalysis.h:50
 AliXtAnalysis.h:51
 AliXtAnalysis.h:52
 AliXtAnalysis.h:53
 AliXtAnalysis.h:54
 AliXtAnalysis.h:55
 AliXtAnalysis.h:56
 AliXtAnalysis.h:57
 AliXtAnalysis.h:58
 AliXtAnalysis.h:59
 AliXtAnalysis.h:60
 AliXtAnalysis.h:61
 AliXtAnalysis.h:62
 AliXtAnalysis.h:63
 AliXtAnalysis.h:64
 AliXtAnalysis.h:65
 AliXtAnalysis.h:66
 AliXtAnalysis.h:67
 AliXtAnalysis.h:68