]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/macrosLMEE/Config_lowmass.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / Config_lowmass.C
1
2 void InitHistograms(AliDielectron *die, Int_t cutDefinition);
3 void InitCF(AliDielectron* die, Int_t cutDefinition);
4
5 void SetupCuts(AliDielectron *die, Int_t cutDefinition);
6
7 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
8 AliDielectronPID *SetPIDcuts(Int_t cutDefinition);
9
10
11 TString names= ("pt400;pt400DCA;V0gamma;PhiV;strPID");
12
13         Bool_t kRot = 0;
14         Bool_t kMix = 1;
15
16 TObjArray *arrNames=names.Tokenize(";");
17 const Int_t nDie=arrNames->GetEntriesFast();
18
19 AliDielectron* Config_lowmass(Int_t cutDefinition=1)
20 {
21   //
22   // Setup the instance of AliDielectron
23   //
24   
25   // create the actual framework object
26   TString name=Form("%02d",cutDefinition);
27   if (cutDefinition<arrNames->GetEntriesFast()){
28     name=arrNames->At(cutDefinition)->GetName();
29   }
30   AliDielectron *die =
31     new AliDielectron(Form("%s",name.Data()),
32                       Form("Track cuts: %s",name.Data()));
33
34   
35         if(kRot){
36         AliDielectronTrackRotator *rot = new AliDielectronTrackRotator;
37         rot->SetConeAnglePhi(TMath::Pi());
38         rot->SetIterations(10);
39         die->SetTrackRotator(rot);
40         }//kRot
41  
42
43         if(kMix){
44         AliDielectronMixingHandler *mix = new AliDielectronMixingHandler;
45         mix->SetMixType(AliDielectronMixingHandler::kAll);
46         mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10., -7.5, -5., -2.5 , 0., 2.5, 5., 7.5 , 10.");
47         mix->SetDepth(10);
48         die->SetMixingHandler(mix);
49         }//kMix
50
51
52         // set track cuts
53  SetupCuts(die,cutDefinition);
54
55
56
57   //
58   // histogram setup
59   // only if an AliDielectronHistos object is attached to the
60   // dielectron framework histograms will be filled
61   //
62
63   InitHistograms(die,cutDefinition);
64   InitCF(die,cutDefinition);
65
66   
67   return die;
68
69 }
70
71 //______________________________________________________________________________________
72 void SetupCuts(AliDielectron *die, Int_t cutDefinition)
73 {
74   //
75   // Setup the track cuts
76   //
77
78
79
80         //options
81         die->SetPreFilterAllSigns();
82
83         //pairing with TLorentzVector
84         die->SetUseKF(kFALSE);
85
86         //tracks only
87 //      if(cutDefinition == 0)die->SetNoPairing(); 
88
89         //track cuts
90         die->GetTrackFilter().AddCuts(SetupESDtrackCuts(cutDefinition));
91         //pid cuts
92         die->GetTrackFilter().AddCuts(SetPIDcuts(cutDefinition));
93
94
95            if(cutDefinition >= 0){
96                 AliDielectronVarCuts *RapidityCut=new AliDielectronVarCuts("RapidityCut","RapidityCut");
97                 RapidityCut->AddCut(AliDielectronVarManager::kY, -0.9 , 0.9);
98                 die->GetPairFilter().AddCuts(RapidityCut);
99            }
100
101
102            if(cutDefinition==2){//try the V0 finder
103              AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
104              noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
105              die->GetTrackFilter().AddCuts(noconv);
106            }
107
108          if(cutDefinition == 3){
109          AliDielectronVarCuts *phiVcut=new AliDielectronVarCuts("phiVcut","Phi_V cut <2.5 rad");
110          phiVcut->AddCut(AliDielectronVarManager::kPhivPair, 2.5, TMath::ACos(-1.0), kTRUE);
111          die->GetPairPreFilter().AddCuts(phiVcut);
112            }
113
114
115 }
116 //______________________________________________________________________________________
117 //-----------------------------------pid------------------------------------------------
118
119 AliDielectronPID *SetPIDcuts(Int_t cutDefinition){
120
121   AliDielectronPID *pid = new AliDielectronPID();
122
123
124   if(cutDefinition >= 0){//400
125         //TPC
126         pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.4,100.,kFALSE);
127         pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.,0.4,100.,kTRUE);
128         //TOF
129         pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 3., kFALSE);
130         }
131
132
133   if(cutDefinition == 4){//str PID
134         //TPC
135         pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,0.,3.,0.4,100.,kFALSE);
136         pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.,0.4,100.,kTRUE);
137         //TOF
138         pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 3., kFALSE);
139         }
140
141
142  return pid;
143
144 }
145
146 //______________________________________________________________________________________
147 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition)
148 {
149
150   //
151   // Setup default AliESDtrackCuts
152   //
153   AliESDtrackCuts *fesdTrackCuts1 = new AliESDtrackCuts;
154
155   //global
156
157   //  if(cutDefinition == 0)fesdTrackCuts1->SetPtRange( 0.2 , 100. );
158   fesdTrackCuts1->SetPtRange( 0.4 , 100. );
159   fesdTrackCuts1->SetAcceptKinkDaughters(kFALSE);
160   fesdTrackCuts1->SetDCAToVertex2D(kTRUE);
161   if(cutDefinition == 1){
162   fesdTrackCuts1->SetMaxDCAToVertexZ(3.);
163   fesdTrackCuts1->SetMaxDCAToVertexXY(1.);
164   }else{
165   fesdTrackCuts1->SetMaxDCAToVertexZ(2.5);
166   fesdTrackCuts1->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
167   }
168   fesdTrackCuts1->SetEtaRange( -0.8 , 0.8 );
169
170 //  fesdTrackCuts1->SetMaxNsigmaToVertex( 2. );
171 //  fesdTrackCuts1->SetMaxCovDiagonalElements( 2 , 2, 0.5, 0.5 , 2 );
172
173   //ITS
174   fesdTrackCuts1->SetRequireITSRefit(kTRUE);
175   fesdTrackCuts1->SetMinNClustersITS(3); 
176   //fesdTrackCuts1->SetMaxChi2PerClusterITS(4);
177   fesdTrackCuts1->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
178   //kAny kBoth kFirst kSecond
179
180   //TPC
181   fesdTrackCuts1->SetRequireTPCRefit(kTRUE);
182   fesdTrackCuts1->SetMinNClustersTPC(80);
183   fesdTrackCuts1->SetMinNCrossedRowsTPC(100);
184   fesdTrackCuts1->SetMinRatioCrossedRowsOverFindableClustersTPC(0.6);
185   fesdTrackCuts1->SetMaxChi2PerClusterTPC(4);
186   fesdTrackCuts1->SetMaxFractionSharedTPCClusters(0.5); 
187
188   return fesdTrackCuts1;
189
190 }
191
192 //______________________________________________________________________________________
193 void InitHistograms(AliDielectron *die, Int_t cutDefinition)
194 {
195   //
196   // Initialise the histograms
197   //
198   
199   //Setup histogram classes
200   AliDielectronHistos *histos=
201     new AliDielectronHistos(die->GetName(),
202                             die->GetTitle());
203   
204
205
206   //Initialise histogram classes
207   histos->SetReservedWords("Track;Pair");
208   
209   //Event class
210   histos->AddClass("Event");
211   
212
213   //Track classes
214   //to fill also track info from 2nd event loop until 2
215   for (Int_t i=0; i<2; ++i){
216     histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
217   }
218   
219   //Pair classes
220   // to fill also mixed event histograms loop until 10
221
222   for (Int_t i=0; i<3; ++i){
223     histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
224
225   }
226
227   if(kMix){
228   histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3))); //ME ++
229   histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));//ME -+
230   histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));//ME +-
231   histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7))); // ME --
232   }
233
234   if(kRot)histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));//Rot
235
236
237   //add histograms to event class
238   histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",1,0,1,AliDielectronVarManager::kNevents);
239   histos->UserHistogram("Event","ZVertex","ZVertex;ZVertex/cm",480,-12.,12.,AliDielectronVarManager::kZvPrim);
240   histos->UserHistogram("Event","nESDTracks","ESD tracks;ESD tracks;Number events",100,0,200,AliDielectronVarManager::kTracks);
241   histos->UserHistogram("Event","Nacc","Number of accepted tracks;Number events",100,0,200,AliDielectronVarManager::kNacc);
242   histos->UserHistogram("Event","NVtxContrib","Number of Vertex Contributor;NVtx;Number events",100,0,100,AliDielectronVarManager::kNVtxContrib);
243
244
245   //add histograms to Track classes
246   histos->UserHistogram("Track","P","P;P [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPIn);
247   histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPt);
248   histos->UserHistogram("Track","Eta","Eta; Eta ;#tracks",100,-1.,1.,AliDielectronVarManager::kEta);
249   histos->UserHistogram("Track","Phi","Phi; Phi ;#tracks",640,0.,6.4,AliDielectronVarManager::kPhi);
250
251
252   histos->UserHistogram("Track","Eta_phi","Eta vs Phi;Eta;Phi",100,-1.,1.,320,0.,6.4,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
253   histos->UserHistogram("Track","Eta_pt","Eta vs Pt;Eta;Pt",100,-1.,1.,500,0.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kPt);
254   histos->UserHistogram("Track","ImpParXY_Pt","ImpParXY_Pt; Pt; ÍmpParXY",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParXY);
255   histos->UserHistogram("Track","ImpParZ_Pt","ImpParZ_Pt; Pt; ÍmpParZ",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParZ);
256
257
258   //track checks (ITS)
259   histos->UserHistogram("Track","ITSchi2Cl_Mom","ITS Chi2 vs Momentum;Mom;ITS chi2",500,0.,5.,50,0.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSchi2Cl);
260   histos->UserHistogram("Track","NclsITS_Mom",";Mom;kNclsITS",500,0.,5.,7,0,7,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsITS);
261
262   //track checks (TPC)
263   histos->UserHistogram("Track","TPCsignalNfrac_Mom",";fraction TPCSignalN/TPCncls vs Momentum;Mom;TPCSignalN/TPCncls",500,0.,5.,60,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignalNfrac);
264   histos->UserHistogram("Track","TPCchi2Cl_Mom","TPC Chi2 vs Momentum;Mom;TPC Chi2",500,0.,10.,100,0,5,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCchi2Cl);
265   histos->UserHistogram("Track","TPCclsDiff_Mom","kTPCclsDiff vs Momentum;Mom;kTPCclsDiff",500,0.,10.,100,-10,10,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCclsDiff);
266   histos->UserHistogram("Track","FindableTPCcls_Mom","kNFclsTPC vs Momentum;Mom;kNFclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPC);
267   histos->UserHistogram("Track","TPCcls_Mom","kNclsTPC vs Momentum;Mom;kNclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsTPC);
268   histos->UserHistogram("Track","kNclsSFracTPC_Mom","kNclsSFracTPC vs Momentum;Mom;kTPCclsSFrac",500,0.,10.,60,0.,0.12,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsSFracTPC);
269   histos->UserHistogram("Track","kNFclsTPCrFrac_Mom","kNFclsTPCrFrac vs Momentum;Mom;kNFclsTPCrFrac",500,0.,10.,60,0.,1.2.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPCrFrac);
270
271   //track checks (TOF)
272   histos->UserHistogram("Track","TOFbeta_Mom","kTOFbeta vs Momentum;Mom;TOFbeta",500,0.,5.,120,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta);
273   histos->UserHistogram("Track","TOFPIDBit_Mom","kTOFPIDBit vs Momentum;Mom;TOFPIDbit",500,0.,5.,2,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFPIDBit);
274
275   //track checks (TRD)
276   histos->UserHistogram("Track","NclsTRD_Mom","kNclsTRD vs Momentum;Mom;NclsTRD",500,0.,5.,20,0.,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsTRD);
277
278   histos->UserHistogram("Track","TRDntracklets_Mom","TRDntracklets vs Momentum;Mom;TRDnTracklets",500,0.,5.,20,0.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDntracklets);
279
280   histos->UserHistogram("Track","TRDpidProb_Electrons_Mom","kTRDpidProb_Electrons vs Momentum;Mom;TRDpidProb_Electrons",500,0.,5.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle);
281
282    histos->UserHistogram("Track","kTRDpidProb_Pions_Mom","kTRDpidProb_Pions vs Momentum;Mom;kTRDpidProb_Pions",500,0.,5.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio);
283
284   //pid checks
285   histos->UserHistogram("Track","ITSnSigma_MomPio","ITS number of sigmas Pion vs Momentum;Mom;ITSsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaPio);
286   histos->UserHistogram("Track","TPCnSigma_MomPio","TPC number of sigmas Pions vs Momentum;Mom;TPCsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio);
287
288   histos->UserHistogram("Track","ITSnSigma_MomEle","ITS number of sigmas Electrons vs Momentum;Mom;ITSsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaEle);
289   histos->UserHistogram("Track","TPCnSigma_MomEle","TPC number of sigmas Electrons vs Momentum;Mom;TPCsigmaEle",1000,0.,10.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle);
290   histos->UserHistogram("Track","TOFnSigma_MomEle","TOF number of sigmas Electrons vs Momentum;Mom;TOFsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaEle);
291
292   histos->UserHistogram("Track","ITSdEdx_P","dEdx;P [GeV];ITS signal (arb units) vs Momentum;Mom;ITSsignal", 500,0,5,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal);
293   histos->UserHistogram("Track","TPCdEdx_P","dEdx;P [GeV];TPC signal (arb units) vs Momentum;Mom;TPCsignal", 500,0,10.,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal);
294
295   //
296   //add histograms to Pair classes
297   //
298
299   histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
300                         500,0,4,AliDielectronVarManager::kM);
301
302   histos->UserHistogram("Pair","PhiV",";PhiV;#pairs",
303                         320,0.,6.4,AliDielectronVarManager::kPhivPair);
304
305
306    histos->UserHistogram("Pair","PhiV_Pt",";Pt;PhiV",
307                          100,0.,10.,320,0.,6.4,AliDielectronVarManager::kPt,AliDielectronVarManager::kPhivPair);
308
309    histos->UserHistogram("Pair","InvMass_bin2","Inv.Mass;Inv. Mass [GeV];#pairs",
310         "0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
311         0.4 ,  0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
312          0.95,  0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
313         2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
314         3.3 , 3.5, 3.75 , 4.0",AliDielectronVarManager::kM);
315
316
317    histos->UserHistogram("Pair","InvMass_bin3","Inv.Mass;Inv. Mass [GeV];#pairs",
318         "0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
319         0.4 ,  0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
320          0.95,  0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
321         2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
322         3.3 , 3.5, 3.65 ,3.8, 4.0",AliDielectronVarManager::kM);
323
324    histos->UserHistogram("Pair","InvMass_bin4","Inv.Mass;Inv. Mass [GeV];#pairs",
325         "0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
326          0.5 , 0.6, 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
327          0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
328         2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
329         3.3 , 3.5, 3.65 ,3.8, 4.0",AliDielectronVarManager::kM);
330
331   histos->UserHistogram("Pair",
332                         "InvMass_Pt","InvMass_Pt;InvMass;Pt",
333                         500, 0. , 4., 100 , 0., 10. ,
334                          AliDielectronVarManager::kM , AliDielectronVarManager::kPt );
335
336   histos->UserHistogram("Pair",
337                         "OpAngle","Opening angle;Opening angle;#pairs",
338                         320, 0. , 3.2, 
339                          AliDielectronVarManager::kOpeningAngle);
340
341   histos->UserHistogram("Pair",
342                         "OpAngle_InvMass","OpAngle_InvMass;Opening angle;Invariant Mass",
343                         320, 0. , 3.2, 500 , 0. , 4. ,
344                          AliDielectronVarManager::kOpeningAngle,AliDielectronVarManager::kM);
345
346
347   histos->UserHistogram("Pair",
348                         "Phi","Phi;counts;Phi",
349                         320, 0. , 6.4, AliDielectronVarManager::kPhi);
350
351   histos->UserHistogram("Pair",
352                         "Y","Y;counts;Y",
353                         -1.2, 1.2 , 2.4, AliDielectronVarManager::kY);
354
355   die->SetHistogramManager(histos);
356 }
357
358
359
360
361 void InitCF(AliDielectron* die, Int_t cutDefinition)
362 {
363   //
364   // Setup the CF Manager if needed
365   //
366   
367   AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
368
369
370    //pair variables
371   cf->AddVariable(AliDielectronVarManager::kPt,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.");
372   //  cf->AddVariable(AliDielectronVarManager::kP,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.");
373   cf->AddVariable(AliDielectronVarManager::kM,100,0.,4.);
374   cf->AddVariable(AliDielectronVarManager::kY,24,-1.2,1.2);
375   //  cf->AddVariable(AliDielectronVarManager::kPhi,36, 0., 360.);
376
377   cf->AddVariable(AliDielectronVarManager::kOpeningAngle,62,0.,6.2);
378   cf->AddVariable(AliDielectronVarManager::kPhivPair,64, 0., 6.4);
379   cf->AddVariable(AliDielectronVarManager::kPairType,4,-0.5,3.5);
380   //leg 
381   cf->AddVariable(AliDielectronVarManager::kPt,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.",kTRUE);
382     cf->AddVariable(AliDielectronVarManager::kP,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.",kTRUE);
383   cf->AddVariable(AliDielectronVarManager::kEta,20,-1.,1.,kTRUE);
384   cf->AddVariable(AliDielectronVarManager::kPhi,36,0.,360.,kTRUE);
385   cf->AddVariable(AliDielectronVarManager::kY,50,-1.,1.,kTRUE);
386   cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,40,-2.,2.,kTRUE);
387
388   //  cf->AddVariable(AliDielectronVarManager::kTOFnSigmaEle,50,-10.,10.,kTRUE);
389   //  cf->AddVariable(AliDielectronVarManager::kNclsTPC,"0, 70, 75, 80, 85, 90, 100, 120, 160",kTRUE);
390
391   die->SetCFManagerPair(cf);
392   
393 }